Sub Assemble()
'Déclaration des variables
Dim LigneFin1 As Long, LigneFin2 As Long
Dim Chemin As String, Fichier As String
Dim Onglet As Worksheet
Dim Drapeau As Boolean
'Pour le coup l'on dira que le fichier de traitement est dans le même dossier que les fichiers de données
Chemin = ThisWorkbook.Path
'Raméne le nom du premier fichier ce trouvant dans le répertoire
Fichier = Dir(Chemin & "\*.xls")
Do
'Vérifie que le fichier n'est pas le fichier de traitement , si c'est le cas alors passe au suivant
If Right(Fichier, 5) = ".xlsm" Then Fichier = Dir
If Fichier = "" Then Exit Sub
'ouvre le fichier
Workbooks.Open Filename:=Chemin & "\" & Fichier
'Monte le drapeau indiquant le premier tour
Drapeau = True
'Parcours de l'ensemble des feuilles du classeur
For Each Onglet In Workbooks(Fichier).Worksheets
'Récupere la derniere ligne pleine de l'onglet données1
LigneFin1 = Onglet.Range("A" & Rows.Count).End(xlUp).Row
'Copie des données et de l'entete vers la synthese
If Drapeau Then: Onglet.Range("A1:K" & LigneFin1).Copy Destination:=ThisWorkbook.Sheets("Synthese").Range("A1")
'Récupére la derniere ligne pleine de l'onglet synthese
LigneFin2 = ThisWorkbook.Sheets("Synthese").Range("A" & Rows.Count).End(xlUp).Row
'Copie des données sans l'entete vers la synthese
If Not Drapeau Then Onglet.Range("A2:K" & LigneFin1).Copy Destination:=ThisWorkbook.Sheets("Synthese").Range("A" & LigneFin2 + 1)
'Baisse le drapeau puisque le premier tour est terminé
Drapeau = False
'Reprend juste aprés le next avec l'onglet suivant s'il y en a un , sinon sort de la booucle
Next Onglet
'Ferme le classeur sans sauvegarde
Workbooks(Fichier).Close False
'Lecture fichier suivant
Fichier = Dir
Loop Until Fichier = ""
End Sub