Renommer des fichiers PDF

  • Initiateur de la discussion Initiateur de la discussion R@chid
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R@chid

XLDnaute Barbatruc
Supporter XLD
Bonjour mes chers amis,
après une longue absence je reviens vers vous mais cette fois pour solliciter votre aide à faire une macro pour renommer des fichiers PDF qui existent dans un dossier précis, sur le fichier ci-joint il y a deux colonnes une contenant les anciens noms de fichiers PDF sur l'autre colonne le nouveau nom pour chaque fichier et j'aimerais si possible une macro qui change les noms de ces fichiers PDF qui peuvent être des centaines.

J'espère avoir été clair.

Cordialement
 

Pièces jointes

Bonjour R@chid, le Forum 🙂

Un essai avec ceci

VB:
Option Explicit

Sub Renommer()
Dim chemin As String, fichier As String
Dim Fso As Object, newname As String, i&

    Set Fso = CreateObject("Scripting.FileSystemObject")

    chemin = "C:\Users\Rachid\Desktop\Fichiers_PDF\"
    fichier = Dir(chemin & "*.*")
    i = 1
  
    Do While Len(fichier) > 0
        i = i + 1
        newname = Range("b" & i).Value
        Fso.MoveFile fichier, chemin & newname
        fichier = Dir()
    Loop
End Sub

EDIT: bonjour Paritec 🙂
 
Re Bonjour Rachid🙂 lone🙂 Tous,
dans ta macro Lone tu ne remplaces pas le nom du fichier de la colonne A par la colonne B??
si dans son dossier il a 100 fichiers, et qu'il veut en changer seulement 10, avec ta macro, tu vas changer les 10 premiers trouvés!!
et c'est pas obligatoirement dans l'ordre dans son dossier.
bonne journée
a+
Papou🙂
 
Bonjour R@chid, Papou, Lone-wolf,

Heureux de te retrouver cher R@chid.

Name X As Y est très classique :
Code:
Sub Renommer()
Dim chemin$, t, i&
chemin = [G2] & "\" 'ThisWorkbook.Path & "\"
t = [A1].CurrentRegion
On Error Resume Next
For i = 2 To UBound(t)
    Name chemin & t(i, 1) & ".pdf" As chemin & t(i, 2) & ".pdf"
Next
End Sub
Bonne journée.
 
Bonjour job75 🙂

@Paritec: Oui tu as raison. Un quack de ma part. 😳

J'ai refait comme ceci

VB:
Option Explicit

Sub Renommer()
Dim derlig&, i&, chemin$, AncienNom$, NouveauNom$

    derlig = Range("a" & Rows.Count).End(xlUp).Row
    chemin = "C:\Users\Rachid\Desktop\PDF\"
    On Error Resume Next
 
    For i = 2 To derlig
        AncienNom = chemin & Range("a" &  i) & ".pdf"
        NouveauNom = chemin & Range("b" &  i) & ".pdf"
            If  Dir(AncienNom) <> "" Then
                 Name AncienNom As NouveauNom
           End If
    Next i
End Sub
 
Dernière édition:
Bonjour mes chers amis,
Cher Paritec :
dans un premier temps la macro n'a pas fonctionné correctement, elle bloque au Fichier_09 et les suivants et me dit que les fichiers n'existent pas dans le dossier alors qu'ils y sont, mais en fin de compte je me suis rendu compte que c'est moi le fautif puisque j'ai donné le même nouveau nom Nouveau_Nom@-022 au fichier Fichier_08 et Fichier_09, maintenant tout fonctionne comme il faut, un énorme merci.

Cher Job75 :
Ta macro a bien fonctionné sans faute et puisque le Fichier_08 a bien eu le nouveau nom Nouveau_Nom@-022 elle ne l'a pas donné au Fichier_09 et elle l'a laissé sans nom.

Mon cher Lone-Wolf :
je te remercie pour ta participation et pour ton aide, j'ai pas essayé les tiennes puisque j'ai lu les commentaires de mon ami Paritec, merci de ne pas m'en vouloir.

Merci mes chers amis, vous aussi vous me manquez beaucoup "BEZZZAF" en arabe.


Au plaisir de revenir vers vous pour d'autres questions.


Cordialement
 
Je reviens vers vous :
je n'ai pas anticipé que je n'aurai pas besoin de renommer tous les fichiers mais mon Cher Paritec en a parlé à Lone-Wolf,
En essayant de laisser quelques cellules des nouveaux noms vides pour ne pas renommer les fichiers il s'est avéré que la macro de l'ami Job75 nomme correctement les fichiers, et donne un nom "" au premier fichier à ne pas renommer et laisse les autres tels qu'ils sont puisqu'elle ne donne pas le même nom à plusieurs fichiers. Par contre celle de l'ami Paritec fait comme celle de Job75 mais après le deuxième nom après le vide elle bloque.

Est-ce qu'il y a moyen de ne pas prendre en compte les cellules vides ?

Cordialement
 
Dernière édition:
Bonjour Rachid le forum
Oui bien sur que l'on peut en tenir compte mais pour moi ta demande était très claire, tu voulais renommer une liste précise de fichiers, donc dans ce cas là il n'y avait pas à prévoir de vide !!!
dans quelle colonne tu auras des vides ?? uniquement dans la colonne B ??
Et si il y a vide en colonne B on ne renomme pas c'est bien cela??
Par contre celle de l'ami Paritec fait comme celle de Job75 mais après le deuxième nom après le vide elle bloque.
Normal moi je n'utilise jamais "on error resume next", quand il y a un défaut il faut le savoir.
a+
Papou🙂
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
606
Réponses
4
Affichages
144
Retour