Sub Collage()
Dim cd As Workbook 'déclare la variable cd (Classeur Destination)
Dim od As Object 'déclare la variable od (Onglt Destination)
Dim ch As String 'déclare la variable ch (CHemin d'accès)
Dim cs As Workbook 'déclare la variable cs (Classeur Source)
Dim os As Object 'déclare la variable os (Onglet Source)
Dim cl As Byte 'déclare la variable cl (Classeurs)
Dim dest As Range 'déclare la variable dest (cellule de DESTination)
Set cd = ThisWorkbook 'définit le classeur de distination cd
Set od = cd.Sheets("Feuil1") 'définit l'onglet de destination od
ch = cd.Path & "\" 'définit le chemin d'accès ch
od.UsedRange.Clear 'supprime d'éventuelles anciennes données (ligne à garder ou à supprimer selon ton cas...)
For cl = 2 To 3 'boucle sur les deux classeurs
On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
Workbooks("Test" & cl & ".xlsx").Activate 'active le classeur (génère une erreur si le classeur n'est pas ouvert)
If Err <> 0 Then 'condition si une erreur a été générée
Err = 0 'annule l'erreur
Workbooks.Open (ch & "Test" & cl & ".xlsx") 'ouvre le classeur
End If 'fin de la condition
On Error GoTo 0 'annule la gestion des erreurs
Set cs = ActiveWorkbook 'définit le classeur source
Set os = cs.Sheets("Feuil1") 'définit l'onglet source
'définit la cellule de destination (A1 si A1 est vide, sinon la première cellule vide de la colonne A de l'onglet od du classeur od)
Set dest = IIf(od.Range("A1").Value = "", od.Range("A1"), od.Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0))
os.UsedRange.Copy dest 'copie la plage des cellules utilisée de l'onget source et la colle dans dest
cs.Close Savechanges:=False 'ferme l'onglet source sans enregister
Next cl 'prochain classeur de la boucle
End Sub