Macro pour renommage en masse

Résolu
Memo133 Messages postés 7 Statut Membre -  
Memo133 Messages postés 7 Statut Membre -
Bonjour à tous,

J'essaie depuis trois jours de créer une macro excel de renommage de fichier afin de renommer des pdf en masse. Mais voilà, je ne parviens pas à la faire fonctionner. J'ai écrit cette macro ci-après :

Sub Renommer()
On Error Resume Next
Dim i As Integer

i = 1
While Cells(i, 1) <> 0
i = i + 1
Cells(i, 1).Select
Name "C:\Users\Documents\Financier\2018\Procedure_Rib\" & Range("A" & i) As "C:\Users\Documents\Financier\2018\Procedure_Rib\" & "\" & Range("B" & i)
Wend
Range("A2").Select

End Sub

et les docs sont dans le dossier "Procedure_Rib". Est-ce que quelqu'un pourrait m'expliquer ce que j'oublie ou ce que je fais mal?

Par avance un grand merci!

1 réponse

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    Bonjour,

    Essaies :
    Option Explicit
    Sub Renommer()
    Dim c As String
    Dim f As String
    Dim i As Integer
      c = "C:\Users\Documents\Financier\2018\Procedure_Rib\"
      i = 1
      With ActiveSheet
        Do While .Cells(i, "A").Value <> ""
          f = c & .Cells(i, "A").Value
          If Dir(f) <> "" Then
            Name f As c & .Cells(i, "B").Value
          End If
          i = i + 1
        Loop
      End With
    End Sub
    0
    1. Memo133 Messages postés 7 Statut Membre
       
      Merci pour cette réponse, mais ça ne renomme pas les docs! ça ne met pas de message non plus...
      0
    2. Memo133 Messages postés 7 Statut Membre
       
      Dois je compléter quoi que ce soit à la macro que tu m'as envoyé?
      0
    3. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
       
      Bonjour,

      Une petite amélioration :
      Option Explicit
      Sub Renommer()
      Dim c As String
      Dim f As String
      Dim i As Integer
      Dim m As String
        c = "C:\Users\Documents\Financier\2018\Procedure_Rib\"
        i = 1
        With ActiveSheet
          Do While .Cells(i, "A").Value <> ""
            f = c & .Cells(i, "A").Value
            If Dir(f) <> "" Then
              Name f As c & .Cells(i, "B").Value
            Else
              m = m & vbCrLf & f
            End If
            i = i + 1
          Loop
        End With
        If m > "" Then
          m = "Fichiers non trouvés :" & m
          MsgBox m, vbCritical
        End If
      End Sub
      
      0
    4. Memo133 Messages postés 7 Statut Membre
       
      Il m'indique à présent "Fichiers non trouvés", puis le chemin vers les fichiers qu'il ne trouve pas...
      0
    5. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
       
      C'est le but !
      Si tes chemins et / ou noms de fichiers ne sont pas corrects, il ne risque pas de les renommer .
      0