J'ai analysé le code, n'y a t'il pas un moyen de mettre directement l'adresse du dossier ? Sans le resélectionner à chaque fois ?
En effet, mets le en B1
Option Explicit
Dim k As Long
Sub lire()
Dim Repertoire As FileDialog
Range("A1").CurrentRegion.Offset(1, 0).Clear
k = 2
ListeFichiers Range("B1")
End Sub
Sub ListeFichiers(Repertoire As String)
Dim fso, SourceFolder, SubFolder, fichier, cheminETnom
Set fso = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = fso.GetFolder(Repertoire)
' boucle sur tous les fichiers du répertoire
For Each fichier In SourceFolder.Files
If fichier Like "*.jpg" Or fichier Like "*.JPG" Then
cheminETnom = Repertoire & "\" & fichier.Name
Cells(k, 1).Value = Split(cheminETnom, "\")(UBound(Split(cheminETnom, "\")))
Cells(k, 2).Value = cheminETnom
Cells(k, 3).Value = FileDateTime(fichier)
k = k + 1
End If
Next fichier
' appel récursif pour les sous-répertoires
For Each SubFolder In SourceFolder.subfolders
ListeFichiers SubFolder.Path
Next SubFolder
End Sub