Sub test()
Dim Fich As Workbook
Dim Ws As Worksheet
With Application.FileSearch
'on recherche dans ce dossier:
.LookIn = "D:\Mes Documents\01. Réponses Dep A1"
.SearchSubFolders = False
'tous les fichiers xls
.Filename = "*.xls"
.FileType = msoFileTypeExcelWorkbooks
'si on trouve au-moins 1 fichier
If .Execute > 0 Then
'ici la boucle sur le nombre de fichier
For i = 1 To .FoundFiles.Count
'on attribue à la variable "Fich" le n'ième fichier "i" trouvé dans la boucle.
'Ce fichier est chargé dans la mémoire (afin de pouvoir le consulter)
'mais n'est pas ouvert, traitement plus rapide.
Set Fich = GetObject(.FoundFiles(i))
'"Ws" correspond à la feuille 1 du fichier
Set Ws = Fich.Sheets(1)
'on copie la plage A1:A10 dans la colonne A pour le fichier1,
'dans la colonne B pour le fichier2, etc...
Ws.Range("A1:A10").Copy = Cells(1, i)
[COLOR=Red][B]'TRES IMPORTANT: FERMER LE FICHIER. Et oui, même si le fichier n'est pas ouvert,[/B][/COLOR]
[B][COLOR=Red]'il faut néanmoins le "décharger" de la mémoire.[/COLOR][/B]
Fich.Close
Next i
End If
End With
End Sub