Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
INSCRIPTION  \/ 
x

or

Comment renommer plusieurs fichiers d'un dossier dans Excel?

Peut-être que la plupart d'entre nous souffrent de ce problème que nous devons renommer plusieurs fichiers dans un dossier, renommer les noms de fichiers un par un nous rendra fous s'il y a des centaines ou des milliers de fichiers dans ce dossier. Existe-t-il de bonnes fonctions pour nous permettre de faire face à cette tâche?

Lister tous les noms de fichiers d'un dossier spécifique dans la feuille de calcul avec kutools pour Excel

Renommer plusieurs fichiers d'un dossier dans Excel avec le code VBA


Si vous souhaitez renommer plusieurs fichiers, vous pouvez tout d'abord répertorier les anciens noms de fichiers dans une colonne de feuille de calcul, puis entrer les nouveaux noms de fichiers par lesquels vous souhaitez remplacer. Pour répertorier rapidement tous les fichiers de la feuille de calcul, vous pouvez utiliser le Kutools pour Excel's Liste des noms de fichiers utilitaire.

Après l'installation de Kutools pour Excel, veuillez procéder comme suit :( Téléchargez gratuitement Kutools pour Excel maintenant )

1. Cliquez Kutools Plus > Import & Export > Liste des noms de fichiers, voir capture d'écran:

2. Dans le Liste des noms de fichiers boîte de dialogue, cliquez sur doc-rename-plusieurs-fichiers-1pour choisir le dossier de fichiers dans lequel vous souhaitez répertorier les fichiers, puis cliquez sur Tous les fichiers du Type de fichiers, voir capture d'écran:

doc-rename-plusieurs-fichiers-1

3. Puis clique OK bouton, tous les noms de fichiers ont été listés dans une colonne d'une nouvelle feuille de calcul, ainsi que certains attributs de fichier, et maintenant, vous pouvez supprimer d'autres colonnes indésirables et ne laisser que le Nom du fichier colonne, voir capture d'écran:

doc-rename-plusieurs-fichiers-1

Cliquez pour en savoir plus sur cette fonctionnalité de liste de noms de fichiers…

Téléchargez gratuitement Kutools pour Excel maintenant


Après avoir répertorié tous les noms de fichiers d'origine dans une colonne A, et vous devez taper les nouveaux noms de fichiers dans la colonne B comme illustré ci-dessous:

doc-rename-plusieurs-fichiers-1

Et ici, je vais parler d'un code VBA qui peut vous aider à remplacer les anciens noms de fichiers par les nouveaux noms de fichiers à la fois. Veuillez suivre les étapes suivantes:

1. Maintenez le ALT + F11 clés, et il ouvre le Fenêtre Microsoft Visual Basic pour Applications.

2. Cliquez insérer > Moduleet collez la macro suivante dans le Fenêtre du module.

Code VBA: renommer plusieurs fichiers dans un dossier

Sub RenameFiles()
'Updateby20141124
Dim xDir As String
Dim xFile As String
Dim xRow As Long
With Application.FileDialog(msoFileDialogFolderPicker)
    .AllowMultiSelect = False
If .Show = -1 Then
    xDir = .SelectedItems(1)
    xFile = Dir(xDir & Application.PathSeparator & "*")
    Do Until xFile = ""
        xRow = 0
        On Error Resume Next
        xRow = Application.Match(xFile, Range("A:A"), 0)
        If xRow > 0 Then
            Name xDir & Application.PathSeparator & xFile As _
            xDir & Application.PathSeparator & Cells(xRow, "B").Value
        End If
        xFile = Dir
    Loop
End If
End With
End Sub

3. Après avoir collé le code, veuillez appuyer sur F5 clé pour exécuter ce code, et dans le DECOUVREZ fenêtre, sélectionnez le dossier dans lequel vous souhaitez modifier les noms de fichiers, voir capture d'écran:

doc-rename-plusieurs-fichiers-1

4. Et puis cliquez OK, tous les anciens noms de fichiers ont été immédiatement remplacés par les nouveaux. Voir les captures d'écran:

doc-rename-plusieurs-fichiers-1 2 doc-rename-plusieurs-fichiers-1

Notes:

1. Lorsque vous répertoriez vos anciens et nouveaux noms de fichiers, l'extension de fichier doit être incluse.

2. Dans le code ci-dessus, la référence A: A indique l'ancienne liste de noms de fichiers que vous souhaitez renommer et référence B contient les nouveaux noms de fichiers que vous souhaitez utiliser, vous pouvez les modifier selon vos besoins


Kutools pour Excel: avec plus de 300 compléments Excel pratiques, essai gratuit sans limitation dans 30 jours. Téléchargez et essayez gratuitement maintenant!

Articles Liés:

Comment créer des feuilles de calcul de séquence à partir d'une plage de cellules dans Excel?

Comment renommer plusieurs feuilles de calcul dans Excel?


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Jeje · 2 months ago
    wow, useful and very helpful. BIG THANKS :)
  • To post as a guest, your comment is unpublished.
    amrul · 3 months ago
    Sub RenameMultipleFiles()
    With Application.FileDialog(msoFileDialogFolderPicker)
    .AllowMultiSelect = False
    If .Show = -1 Then
    selectDirectory = .SelectedItems(1)
    dFileList = Dir(selectDirectory & Application.PathSeparator & "*")

    Do Until dFileList = ""
    curRow = 0
    On Error Resume Next
    curRow = Application.Match(dFileList, Range("A:A"), 0)
    If curRow > 0 Then
    Name selectDirectory & Application.PathSeparator & dFileList As _
    selectDirectory & Application.PathSeparator & Cells(curRow, "B").Value
    End If

    dFileList = Dir
    Loop
    End If
    End With
    End Sub

    this formula does not rename1st document
  • To post as a guest, your comment is unpublished.
    Jaryn · 1 years ago
    Love this so much! Is there a way to use Kutools to edit metadata tags for music similar to this with filenames? Would love being able to mass edit song tags through Excel rather than on iTunes or other third party song tag editors. Thank you!
  • To post as a guest, your comment is unpublished.
    Adnansoft · 1 years ago
    okay Thank you

  • To post as a guest, your comment is unpublished.
    XYZ · 1 years ago
    Hello. I did this for a couple of files and it worked successfully. The next few files i tried, did not work. There were a few formulas added to the new names, could that be the issue?
  • To post as a guest, your comment is unpublished.
    Avi · 1 years ago
    Very helpful. Thank you!
  • To post as a guest, your comment is unpublished.
    Damian · 1 years ago
    great, worked great for me
  • To post as a guest, your comment is unpublished.
    Sandy · 2 years ago
    Thank you so much for your information. It was really nice!
  • To post as a guest, your comment is unpublished.
    Ali · 2 years ago
    Hi there
    It does not work with unicode file names. How can it be done fine?
  • To post as a guest, your comment is unpublished.
    Jayakumar · 3 years ago
    Hi,

    I'm trying to use the code for renaming the non extension files to files with extension. it doesn't work. It works fine with files which have extension already.

    Thanks
    Jay
  • To post as a guest, your comment is unpublished.
    cda · 3 years ago
    Thank you so much...
  • To post as a guest, your comment is unpublished.
    Gee Kay · 3 years ago
    Hello, some of the files have same name. Scripts skip those files. Is there a way to modify the script so it adds a number 1, 2, 3 and so on for every duplicate name?
    • To post as a guest, your comment is unpublished.
      skyyang · 3 years ago
      Hello, Kay,
      To rename the files based on duplicate new names with name-1,name-2, the following VBA code may help you, please try it.

      Note: After pasting this code, you should reference the Microsoft Scripting Runtime option in the References-VBAProject dialog box as below screenshot shown.

      Sub RenameFiles()
      Dim xDir As String
      Dim xFile As String
      Dim xVal As String
      Dim xRow As Long
      Dim xCount As Long
      Dim xTemp As Long
      Dim xDictionary As New Dictionary
      Application.ScreenUpdating = False
      On Error Resume Next
      With Application.FileDialog(msoFileDialogFolderPicker)
      .AllowMultiSelect = False
      If .Show = -1 Then
      xDir = .SelectedItems(1)
      xFile = Dir(xDir & Application.PathSeparator & "*")
      Do Until xFile = ""
      xRow = 0
      xRow = Application.Match(xFile, Range("A:A"), 0)
      If xRow > 0 Then
      xCount = 0
      xVal = Cells(xRow, "B").Value
      If Not xDictionary.Exists(xVal) Then
      xDictionary.Add xVal, xCount
      Else
      xDictionary.Item(xVal) = xDictionary.Item(xVal) + 1
      xTemp = InStrRev(xVal, ".")
      Cells(xRow, "B").Value = Mid(xVal, 1, xTemp - 1) & "-" & CStr(xDictionary.Item(xVal)) & Mid(xVal, xTemp)
      End If
      Name xDir & Application.PathSeparator & xFile As _
      xDir & Application.PathSeparator & Cells(xRow, "B").Value
      End If
      xFile = Dir
      Loop
      End If
      End With
      Application.ScreenUpdating = True
      End Sub
  • To post as a guest, your comment is unpublished.
    Hemant · 3 years ago
    I am following the same process but couldn't succeeded in renaming the file i am also changing ("A:A") and ("B"). Is there any other valuve which i need to change in the code
  • To post as a guest, your comment is unpublished.
    Dee · 4 years ago
    I cant understand with range ( A:A) or (B) how to define that, thank you
    • To post as a guest, your comment is unpublished.
      skyyang · 4 years ago
      Hi, Dee,

      As the note remind, the reference A:A indicates the old filenames list you want to rename, and reference B contains the new filenames that you want to use
      , as following screenshot shown:

      Hope this can help you, thank you!
  • To post as a guest, your comment is unpublished.
    Rasmus · 4 years ago
    I would like to rename multiple files from folders and subfolders. So im thinking a VBA code there looks at the path there is in the Column 'Containing Folder' (I Check the checkbox 'Include files in subdirectories') I am no where near good enough for coding VBA, but i look and try to understand. Thanks
  • To post as a guest, your comment is unpublished.
    Dave Koch · 4 years ago
    This is game changing. Thank you SO MUCH!!!
  • To post as a guest, your comment is unpublished.
    JonathanF · 4 years ago
    To rename the multiple files you can also check a software. Search on google- BatchRenameFiles Tool. Check the first search result.


    Thanks
    Jonathan F.
  • To post as a guest, your comment is unpublished.
    sanjit · 4 years ago
    hi, Amazing codes, has saved my hell lot of time.. thanks a ton..
  • To post as a guest, your comment is unpublished.
    aparna · 4 years ago
    i want to make combo of pictures for example i have 33 images and i want to create a combo of pictures with each other, please find attched i have 10000 more images so that i can create in a 1 click of multiple images.
    please call or email at caparnasingla@gmail.com
  • To post as a guest, your comment is unpublished.
    tulpan · 4 years ago
    I suggest to try KrojamSoft BatchRename
  • To post as a guest, your comment is unpublished.
    raju · 4 years ago
    I tried it for excel, it changes file type.Can you please provide me code for csv files rename.
  • To post as a guest, your comment is unpublished.
    Ronald · 4 years ago
    Dear all,

    Try KrojamSoft BatchRename for batch rename the files its very easy to use.
  • To post as a guest, your comment is unpublished.
    aparna · 4 years ago
    Thank you so much sir,
    God bless you!
  • To post as a guest, your comment is unpublished.
    yatin · 5 years ago
    Hi,

    I have more than 100 excel files which I have downloaded from a system and kept in the folder.
    All these files has a sheet named as [u][b]Content[/b][/u]. I want these excel files to be named using the text that is available in the Cell AA2 of the respective [b][u]Content[/u][/b] sheet. Such that the name in this Cell AA2 will be exactly the File name of that respective Excel file.
    all the files in the folder should get renamed in the same way.
    Please suggest a macro that can work in this way.
    • To post as a guest, your comment is unpublished.
      Franz Weber · 4 years ago
      Hi. Is your task already Solved. ? I can help if still unsolved. Pls mail me your task. Tx Franz
  • To post as a guest, your comment is unpublished.
    Dawnn · 5 years ago
    I successfully used the above instructions last year to rename files in half-a-dozen folders. It worked so well that I saved the instructions for future use. I've recently tried to use it again, but after pasting the macro above in the Module window when I hit F5 instead of getting a browser window to select the desired folder, I get a new dialog box prompting me for a Macro name. Any suggestions? I usually have about 3-4 times a year where I need to rename files this way, and I was very excited when it worked last year.
  • To post as a guest, your comment is unpublished.
    Nathan · 6 years ago
    Is it possible rename just a piece of a file name without declaring the full file name and extension in the excel sheet? i.e. change 123-yz.jpg to abc-yz.jpg but I only know that 123 needs changing to abc on every image in the folder?
  • To post as a guest, your comment is unpublished.
    |Richard · 6 years ago
    Surprised (a little) to see someone use the same syntax for naming vars (xDir, for example). It allows for exceptionally well named vars that don't conflict with system names (e.g., Dir or Date). I also use 'z' for global functions (e.g., zMsg, that returns true or false rather than vbOK or vbCancel) and 'y' for constants (e.g., yCR for vbNewline and yCR2 for two of them).
    Good work and good thinking on your part. You must be very smart!
  • To post as a guest, your comment is unpublished.
    Sushant Ghatage · 6 years ago
    How to rename files which contains chinese characters in name.
    Please help on it
  • To post as a guest, your comment is unpublished.
    removejoe · 6 years ago
    Nevermind, i figured it out. Thanks. " xRow = Application.Match(xFile, Range("C:C"), 11)"
  • To post as a guest, your comment is unpublished.
    removejoe · 6 years ago
    What do i need to modify in the code above if my old and new names do not start until Row 11. I changed this line "xRow = Application.Match(xFile, Range("C11:C5000"), 0)" but it didn't work.
  • To post as a guest, your comment is unpublished.
    Rafael · 6 years ago
    Dear all,

    How can I change FOLDERS the same way as shown above?

    Could you kindly help me with this issue?

    The question is: How to rename multiple FOLDERS of a folder in Excel?

    Kind regards!