|
|
|
|
Sauve et renommer fichier pdf via une macro
Dernière réponse le 20 sep 2009 à 15:07:03 Ed, le 10 jui 2008 à 12:12:56Bonjour,
j'aimerais renommer plus de 400 fichier pdf via une macro
je voudrait les renommer par rapport à 2 variable inscrite dans mon classeur excel
pour l'instant, un fichier porte le nom "\1234_docu.pdf"
et je voudrait tous les renommé "\1234_document.pdf"
1234 et document étant différentes pour les 400 fichiers
Qu'en penser vous??
merci
Configuration: Windows 2000 Internet Explorer 6.0
Bonjour,
|
Salut,
Sub Ed()
Dim Chemin As String, Fichier As String, Ligne As Integer
Dim AncienNom As String, NouveauNom As String
Chemin = "C:\Dossier1\Dossier2\DossierX\"
For Ligne = 2 To 402
AncienNom = Range("A" & Ligne).Value
NouveauNom = Range("B" & Ligne).Value
Fichier = Dir(Chemin & AncienNom)
If Fichier = Empty Then
MsgBox "le fichier " & AncienNom & " n'a pas été trouvé"
Else
Name Fichier As NouveauNom
End If
Next Ligne
End Sub
Il est évident que tu testeras d'abord ce code sur des copies de fichiers. I.
|
Est-ce que l'indicatif du fichier est toujours composé de 4 chiffres ?
AncienNom = Left(Range("A" & Ligne).Value, 4)
NouveauNom = Range("A" & Ligne).Value
Fichier = Dir(Chemin & AncienNom & "*")
Si non, est-ce que l'indicatif du fichier commence toujours le nom du fichier (dès le premier caractère) et est toujours suivi d'un tiret-bas ? Le \ ne fait partie du nom du fichier, si ? I.
|
Ce que j'appelais indicatif, c'est ce que tu apelles code.
|
Du coup, la procédure corrigée ci-dessous devrait marcher !
Sub EdBis()
Dim Chemin As String, Fichier As String, Ligne As Integer
Dim Code As String, NouveauNom As String
Chemin = "E:\DONNEES\MES DOCUMENTS\essai\"
For Ligne = 3 To 403
Code = Range("B" & Ligne).Value
NouveauNom = Code & "_" & Range("C" & Ligne).Value & ".pdf"
Fichier = Dir(Chemin & "*" & Code & "*")
If Fichier = Empty Then
MsgBox "le fichier " & Code & " n'a pas été trouvé"
Else
Name Fichier As NouveauNom
End If
Next Ligne
End Sub
|
Répondre à Ivan-hoe
|
Ed,
Fichier = Dir(Chemin & "*" & Code & "*") Par exemple, pour la première ligne de ton tableau, ce code revient à Fichier = Dir("E:\DONNEES\MES DOCUMENTS\essai\*AIGU6C0537*")
c'est-à-dire rechercher un fichier qui contient AIGU6C0537 dans le répertoire indiqué. Vérifie bien que la séquence exacte CODE (colonne B) existe bien dans le nom actuel de tes fichiers. Pas de confusion entre AIGU et AIGUI ? Sinon, je ne sais pas quoi ajouter, ça devrait marcher. I.
|
Ouf ! Enfin !
|
Bonjour
|

