Modifier le nom d'un fichier (VBA)

Bonjour le forum,

En espérant que j'ai plus de chance cette fois ci, je suis confrontée à un petit problème.

Je dois renommer mes fichiers. Cette fonction existe c'est Name oldname As newname.

Seulemement ici c'est un peu plus compliqué car le oldname est une variable qui change dans une boucle. Du coup je n'arrive pas à écrire correctement la fonction.

Voici le code pour mieux situer

Sub ouverture()
Dim Fin, i As Double
Dim Fichier As String, Chemin As String
Dim Cel As Range
Dim Wb As Workbook

Chemin = ThisWorkbook.Path & "\"
Fichier = Dir(Chemin & "fiche coaching PhD ??-??-??.xls")

'Boucle ouvrant les fichiers du type Coaching
Do While Fichier <> ""
    Set Wb = Workbooks.Open(Chemin & Fichier)
    'Définie la cellule de départ pour écrire les actions
    Set Cel = ThisWorkbook.Sheets("Sheet1").Range("A65536").End(xlUp).Offset(1, 0)
'==============================================================================
   'Définie la dernière cellule à regarder dans le fichier ouvert
   Fin = Wb.Sheets("CR").Range("C65536").End(xlUp).Row
   'Boucle parcourant la colonne Decision/Action du fichier ouvert
    For i = 10 To Fin + 1
        'Si l'acteur est DENNEMONT alors on recopie les infos
        If Range("D" & i).Value = "DENNEMONT" Then
            ...blabla...
        End If
    Next i
'===============================================================================
    'Ferme le fichier courant
    Wb.Close True
    Set Wb = Nothing
    Set Cel = Nothing
   =>'Classe le fichier en tant que fichier "Extrait"<=
   => Name Chemin&"\"&Wb.Name As Chemin&"\"&Wb.Name&" [Extrait].xls"<=

    Fichier = Dir
Loop
End Sub

Merci d'avance

Re,

Je suis partie sur autre chose :

Créer une variable Oldname et une variable Newname.

Je les ai définis en tant que String. Mais j'ai une erreur sur cette ligne

Set Oldname = Chemin & Wb.Name

Erreur d'exécution 91 : La variable Objet ou variable de bloc With non définie.

Je ne comprends pas où est mon erreur, help!

Bonjour,

Si tu définis Oldname en tant que String, tu dois écrire le code comme ceci :

Oldname = Chemin & Wb.Name
sans titre

Merci

J'ai trouvé la suite toute seule comme une grande

Sub ouverture()
Dim Fin, i As Double
Dim Fichier, Chemin, Oldname, Newname As String
Dim Cel As Range
Dim Wb As Workbook

Chemin = ThisWorkbook.Path & "\"
Fichier = Dir(Chemin & "fiche coaching * ??-??-??.xls")

'Boucle ouvrant les fichiers du type Coaching
Do While Fichier <> ""
    Set Wb = Workbooks.Open(Chemin & Fichier)
    'Sauvegarde du nom du fichier
    Oldname = Chemin & Wb.Name
    Newname = Oldname
    'Définie la cellule de départ pour écrire les actions
    Set Cel = ThisWorkbook.Sheets("Sheet1").Range("A65536").End(xlUp).Offset(1, 0)
'==============================================================================
   'Définie la dernière cellule à regarder dans le fichier ouvert
   Fin = Wb.Sheets("CR").Range("C65536").End(xlUp).Row
   'Boucle parcourant la colonne Decision/Action du fichier ouvert
    For i = 10 To Fin + 1
        'Si l'acteur est DENNEMONT alors on recopie les infos
        If Range("D" & i).Value = "DENNEMONT" Then
          ...blabla...
        End If
    Next i
'===============================================================================
    'Ferme le fichier courant
    Wb.Close True
    Set Wb = Nothing
    Set Cel = Nothing
    'Fabrique le nouveau nom du fichier (retire l'extension puis ajoute [extrait].xls)
    Newname = Left(Newname, Len(Newname) - 4)
    Newname = Newname & " [Extrait].xls"
    'Classe le fichier en tant que fichier "Extrait"
    Name Oldname As Newname
    Fichier = Dir
Loop
End Sub
Rechercher des sujets similaires à "modifier nom fichier vba"