Modifier le nom d'un fichier (VBA)
T
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 SubMerci d'avance
T
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.NameErreur d'exécution 91 : La variable Objet ou variable de bloc With non définie.
Je ne comprends pas où est mon erreur, help!
r
T
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