Bonjour à tous,
L'objectif de cette macro est :
1/ d'avoir une colonne avec une liste des titres de tous les fichiers Word d'un dossier,
2/ puis une autre dans laquelle mettre les termes à remplacer
3/ et dans une dernière les nouveaux termes.
Le titre et le contenu doit être modifié et enregistré dans le même dossier.
Exemple :
A1 B1 C1
ax a i
by b o
cz c p
Résultat :
ix.doc
oy.doc
pc.doc
1/ La liste :
Sub ListeFichiers()
racine = "Dossier"
Range("a4:F10000").ClearContents
Set fs = CreateObject("Scripting.FileSystemObject")
Set dossier = fs.GetFolder(racine) 'DossierRacine
ligne = 2
For Each f In dossier.Files
Cells(ligne, 1) = f.Name
If f.Attributes And vbHidden Then Cells(ligne, 6) = "Caché"
ligne = ligne + 1
Next
End Sub
2/ et 3/ je nage complétement
Me permet de renommer, mais AncienNom devrait prendre toutes les cellules de la colonne ListeFichiers et NouveauNom une autre à modifier.
Sub RenommeFichier()
Dim AncienNom As String, NouveauNom As String
AncienNom = "C:\Documents and Settings\dossier\NomInitial."
NouveauNom = "C:\Documents and Settings\dossier\Nom modifié."
'Vérifie si le fichier à renommer existe.
If Dir(AncienNom) = "" Then Exit Sub
'Renomme le fichier
Name AncienNom As NouveauNom
End Sub
Avec si possible une boite de dialogue qui permet de choisir le dossier dans lequel prendre les fichiers.
Merci d'avance
L'objectif de cette macro est :
1/ d'avoir une colonne avec une liste des titres de tous les fichiers Word d'un dossier,
2/ puis une autre dans laquelle mettre les termes à remplacer
3/ et dans une dernière les nouveaux termes.
Le titre et le contenu doit être modifié et enregistré dans le même dossier.
Exemple :
A1 B1 C1
ax a i
by b o
cz c p
Résultat :
ix.doc
oy.doc
pc.doc
1/ La liste :
Sub ListeFichiers()
racine = "Dossier"
Range("a4:F10000").ClearContents
Set fs = CreateObject("Scripting.FileSystemObject")
Set dossier = fs.GetFolder(racine) 'DossierRacine
ligne = 2
For Each f In dossier.Files
Cells(ligne, 1) = f.Name
If f.Attributes And vbHidden Then Cells(ligne, 6) = "Caché"
ligne = ligne + 1
Next
End Sub
2/ et 3/ je nage complétement
Me permet de renommer, mais AncienNom devrait prendre toutes les cellules de la colonne ListeFichiers et NouveauNom une autre à modifier.
Sub RenommeFichier()
Dim AncienNom As String, NouveauNom As String
AncienNom = "C:\Documents and Settings\dossier\NomInitial."
NouveauNom = "C:\Documents and Settings\dossier\Nom modifié."
'Vérifie si le fichier à renommer existe.
If Dir(AncienNom) = "" Then Exit Sub
'Renomme le fichier
Name AncienNom As NouveauNom
End Sub
Avec si possible une boite de dialogue qui permet de choisir le dossier dans lequel prendre les fichiers.
Merci d'avance
Dernière édition: