Sub Macro1()
Dim CA As String 'déclare la variable CA (Chemin d'Accès)
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim F As String 'déclare la variable F (Fichier)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
CA = "C:\blabla\blabla\2017" 'définit le chemin d'accès CA (à adapter à ton cas car il faut le chemin complet au dossier [2017])
Set CD = ThisWorkbook 'définit le classeur destination CD
Set OD = CD.Worksheets(1) 'définit l'onglet destination OD (a adapter a ton cas, ici j'ai mis le premier onglet du classeur destination)
F = Dir(CA & "\*.xls") 'définit le premier fichier excel du dossier [2017]
Do While F <> "" 'boucle tant qui existe d'autres fichiers excel dans le dossier [2017]
Workbooks.Open (CA & "\" & F) 'ouvre le fichier F
Set CS = ActiveWorkbook 'définit le classeur source
On Error GoTo suite 'gestion des erreurs (en cas d'erreur va a l'étiquette suite)
Set OS = CS.Worksheets("Récap détaillé") 'définit l'onglet source (génère une erreur si l'onglet "Récap détaillé" n'existe pas)
DL = OS.Cells(Application.Rows.Count, "A").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne A de l'onglet source OS
'définit la cellule de destination dans l'onglet OD (A1 si A1 est vide, sinon, la première cellule vide de la colonne A)
Set DEST = IIf(OD.Range("A1").Value = "", OD.Range("A1"), OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0))
OS.Range("A3:T" & DL).Copy DEST 'copie la plage éditée des colonne A à T de l'onglet source et la colle dans DEST
suite: 'étiquette
Err.Clear 'supprime l'erreur
CS.Close False 'ferme le classeur source sans enregistrer
On Error GoTo 0 'annule la gestion des erreurs
F = Dir 'définit le prochain fichier excel du dossier [2017]
Loop 'boucle
End Sub