EXCEL - VBA - renommer plusieurs fichiers

airsage

XLDnaute Junior
Bonjour,

J'ai plusieurs fichiers *.CSV dans un meme repertoire, du type :

Fichier brut : NERON_27_06_2013 Fichier renommé : NERON
Fichier brut : BRUTUS_27_06_2013 Fichier renommé : BRUTUS

J'arrive bien a renommer un fichier avec le code :
Dim chemin$, typ$, fic$
typ = ".csv"
fic = Dir(Chemin_Report & "*" & typ)
If fic = "" Then
ElseIf Dir = "" Then
Name Chemin_Report & fic As Chemin_Report & "NERON" & typ
End If

Mais je n'arrive pas quand il y a 2 fichiers et plus.


Merci pour votre aide.
 

Grand Chaman Excel

XLDnaute Impliqué
Re : EXCEL - VBA - renommer plusieurs fichiers

Bonjour,
Voici une proposition, supposant que les noms du répertoire et de fichiers sont composés de lettres et/ou de chiffres uniquement (pas de caractères spéciaux) :

VB:
Sub Renommer_Fichier()
   Dim chemin$, typ$, fic$
   Dim Reg As Object
   
   chemin = ThisWorkbook.Path & "\"   '<< Changer le chemin
   typ = ".csv"
   
   fic = Dir(chemin & "*" & typ)
   Do While fic <> ""
      With CreateObject("VBScript.RegExp")
         .IgnoreCase = True
         .Pattern = "([a-zA-Z0-9]+)(.+)(" & typ & ")"
         If .test(fic) Then Name fic As .Replace(fic, "$1$3")
      fic = Dir
      End With
   Loop
End Sub
 

Discussions similaires

Réponses
3
Affichages
361

Statistiques des forums

Discussions
312 164
Messages
2 085 877
Membres
103 009
dernier inscrit
dede972