Sub test()
Dim listeFichiers As String, tableauFichiers() As String
Dim iFichier As Long
Dim fichierCourant As Workbook
Application.ScreenUpdating = False
Application.EnableEvents = False
'récupérer la liste des fichiers Excel (.xls, .xlsx et .xlsm) contenu dans le
'dossier où est enregistré ce classeur (ThisWorkbook) et les sous-dossiers
listeFichiers = AnnalyseDisque.GetFilesList(ThisWorkbook.Path, "xls;xlsx;xlsm", True)
'récupérer les fichiers trouvés dans un tableau
tableauFichiers = Split(listeFichiers, ";")
'définir sur quelle feuille vont être copiées les données
With ThisWorkbook.Sheets("Feuil2")
'boucler sur les fichiers récupérés
For iFichier = LBound(tableauFichiers) To UBound(tableauFichiers)
'tester qu'on ne traite pas ce classeur (ThisWorkbook)
If AnnalyseDisque.GetFileName(tableauFichiers(iFichier), True) <> ThisWorkbook.Name Then
'ouvrir le classeur (en "lecture seule")
Set fichierCourant = Application.Workbooks.Open(tableauFichiers(iFichier), , True)
'copier la colone L de la feuille 1 du classeur courant et la copier
'à la suite de la feuille de ce classeur défilie plus haut (au niveau du With)
fichierCourant.Sheets(1).Columns("L").Copy
.Cells(1, .Cells.SpecialCells(xlCellTypeLastCell).Column).Offset(0, 1).PasteSpecial xlPasteValues
'fermer le classeur courant
fichierCourant.Close False
End If
Next iFichier
End With
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub