bonjour,
une proposition à adapter,
Sub aargh()
Dim fs As Object, wsh As Object
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
Set fs = CreateObject("scripting.filesystemobject")
Set wsh = ActiveSheet
chemin = wsh.Range("B1") & "\"
i = 5
traiterepertoire wsh, fs, chemin, i
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
End Sub
Sub traiterepertoire(wsh_result As Object, fs As Object, chemin, ByRef i)
Set rep = fs.getfolder(chemin)
For Each Fichier In rep.Files
If Fichier Like "*.xls*" Then ' fichier excel
Set wkb_source = Workbooks.Open(Fichier)
wsh_result.Cells(i, 1) = ActiveWorkbook.Name
wsh_result.Cells(i, 2) = wkb_source.Sheets("feuil1").[K4]
wsh_result.Cells(i, 3) = wkb_source.Sheets("feuil2").[K5]
wsh_result.Cells(i, 4) = wkb_source.Sheets("feuil3").[D38]
i = i + 1
wkb_source.Close
End If
Next
For Each sousrep In rep.subFolders
traiterepertoire wsh_result, fs, sousrep, i
Next
End Sub