Francois22 a écrit :
L'exemple ci-joint convient-il?
Pour autant qu'il soit représentatif de la situation réelle, ça devrait aller
Dans le classeur nommé "consolidé" (qui devra donc devenir un fichier avec une extension .xlsm), insérer un module standard et y coller les lignes suivantes:
Sub consolider()
chemin = ThisWorkbook.Path
Application.ScreenUpdating = False
ThisWorkbook.Sheets(1).[A2].Resize(ThisWorkbook.Sheets(1).[A2].CurrentRegion.Rows.Count, 11).ClearContents
fich = Dir(chemin & "\" & "*.xlsx")
Do While fich <> ""
lig = ThisWorkbook.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1
Workbooks.Open chemin & "\" & fich
ActiveWorkbook.Sheets(1).[A2].Resize(ActiveWorkbook.Sheets(1).[A2].CurrentRegion.Rows.Count, 11).Copy ThisWorkbook.Sheets(1).Cells(lig, 1)
ActiveWorkbook.Close savechanges:=False
fich = Dir
Loop
Application.ScreenUpdating = True
End Sub
Attention: les fichiers à consolider doivent être enregistrés dans le même répertoire que le fichier de consolidation. Il doivent être d'extension .xlsx et le même répertoire ne peut contenir d'autres fichiers que ceux évoqués supra.
À tester d'abord sur des fichiers exemples ... Ensuite seulement sur des volumes plus conséquents. Si des problèmes de lenteur devaient survenir, on peut s'y prendre de manière un peu différente (utilisation de tableaux en mémoire).