Comment renommer tous les fichiers d'image dans un dossier en fonction d'une liste de cellules dans Excel ?
Avez-vous déjà eu besoin de renommer plusieurs images dans un dossier en fonction d'une liste de noms dans une feuille Excel ? Les renommer un par un peut être chronophage, mais avec l'aide de codes VBA, vous pouvez automatiser rapidement le processus.
Renommer tous les fichiers d'image dans un dossier
Renommer tous les fichiers d'image dans un dossier
Pour renommer tous les fichiers d'image dans un dossier spécifié, suivez ces étapes :
Étape 1 : Importer les noms de fichiers originaux depuis le dossier vers une feuille dans Excel
1. Appuyez sur les touches "Alt + F11" pour activer la fenêtre "Microsoft Visual Basic for Applications".
2. Cliquez sur "Insérer" > "Module" et collez le code ci-dessous dans le script.
VBA : Récupérer les noms des images depuis un dossier
Sub PictureNametoExcel()
'UpdatebyExtendoffice201709027
Dim I As Long
Dim xRg As Range
Dim xAddress As String
Dim xFileName As String
Dim xFileDlg As FileDialog
Dim xFileDlgItem As Variant
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select a cell to place name list:", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Set xRg = xRg(1)
xRg.Value = "Picture Name"
With xRg.Font
.Name = "Arial"
.FontStyle = "Bold"
.Size = 10
End With
xRg.EntireColumn.AutoFit
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
I = 1
If xFileDlg.Show = -1 Then
xFileDlgItem = xFileDlg.SelectedItems.Item(1)
xFileName = Dir(xFileDlgItem & "\")
Do While xFileName <> ""
If InStr(1, xFileName, ".jpg") + InStr(1, xFileName, ".png") + InStr(1, xFileName, ".img") + InStr(1, xFileName, ".gif") + InStr(1, xFileName, ".ioc") + InStr(1, xFileName, ".bmp") > 0 Then
xRg.Offset(I).Value = xFileDlgItem & "\" & xFileName
I = I + 1
End If
xFileName = Dir
Loop
End If
Application.ScreenUpdating = True
End Sub
3. Appuyez sur la touche "F5" pour exécuter le code, et une boîte de dialogue apparaît pour vous rappeler de sélectionner une cellule où afficher la liste des noms. Voir capture d'écran :
4. Cliquez sur "OK" et sélectionnez le dossier spécifié dont vous devez lister les noms d'images dans la feuille de calcul actuelle. Voir capture d'écran :
5. Cliquez sur "OK". Les noms des images ont été listés sur la feuille active.
Étape 2 : Renommer les fichiers d'image en fonction d'une nouvelle liste de noms
1. Appuyez sur les touches "Alt + F11" pour activer la fenêtre "Microsoft Visual Basic for Applications".
2. Cliquez sur "Insérer" > "Module" et collez le code ci-dessous dans le script.
VBA : Renommer les fichiers d'image dans un dossier
Sub RenameFile()
'UpdatebyExtendoffice20170927
Dim I As Long
Dim xLastRow As Long
Dim xAddress As String
Dim xRgS, xRgD As Range
Dim xNumLeft, xNumRight As Long
Dim xOldName, xNewName As String
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRgS = Application.InputBox("Select Original Names(Single Column):", "KuTools For Excel", xAddress, , , , , 8)
If xRgS Is Nothing Then Exit Sub
Set xRgD = Application.InputBox("Select New Names(Single Column):", "KuTools For Excel", , , , , , 8)
If xRgD Is Nothing Then Exit Sub
Application.ScreenUpdating = False
xLastRow = xRgS.Rows.Count
Set xRgS = xRgS(1)
Set xRgD = xRgD(1)
For I = 1 To xLastRow
xOldName = xRgS.Offset(I - 1).Value
xNumLeft = InStrRev(xOldName, "\")
xNumRight = InStrRev(xOldName, ".")
xNewName = xRgD.Offset(I - 1).Value
If xNewName <> "" Then
xNewName = Left(xOldName, xNumLeft) & xNewName & Mid(xOldName, xNumRight)
Name xOldName As xNewName
End If
Next
MsgBox "Congratulations! You have successfully renamed all the files", vbInformation, "KuTools For Excel"
Application.ScreenUpdating = True
End Sub
3. Appuyez sur la touche "F5" pour exécuter le code, et une boîte de dialogue apparaît pour vous rappeler de sélectionner les noms d'images originaux que vous souhaitez remplacer. Voir capture d'écran :
4. Cliquez sur "OK", puis sélectionnez les nouveaux noms que vous souhaitez utiliser pour remplacer les noms d'images dans la deuxième boîte de dialogue. Voir capture d'écran :
5. Cliquez sur "OK", une boîte de dialogue apparaît pour vous informer que les noms des images ont été remplacés avec succès.
6. Cliquez sur "OK", et les noms des images dans le dossier seront remplacés par les nouveaux noms provenant des cellules de la feuille.
![]() |
![]() |
![]() |
Articles connexes :
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification 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é de50 %, et réduit des centaines de clics de souris pour vous chaque jour !