Sub Macro1()
Dim cc As Workbook 'déclare la variable cc (Classeur Cible)
Dim oc As Object 'déclare la variable oc (Onglet Cible)
Dim ch As String
Dim ad As Range 'déclare la variable ad (Anciennes Données)
Dim sf As Object 'déclare la variable sf (Systeme de Fichier)
Dim d As Object 'déclare la variable d (Dossier)
Dim fs As Object 'déclare la variable fs (FichierS du dossier d)
Dim f As Object 'déclare la variable f (Fichier)
Dim cs As Workbook 'déclare la variable cs (Classeur Source)
Dim os As Object 'déclare la variable os (Onglet Source)
Dim dest As Range 'déclare la varaible dest (cellule de Destination)
Set cc = ThisWorkbook 'définit le classeur cible
Set oc = cc.Sheets("Feuil1") 'définit l'onglet cible
ch = cc.Path 'définit le chemin d'accès
Set ad = oc.Range("A1").CurrentRegion 'définit la plage des anciennes données
If ad.Rows.Count > 1 Then 'condition : si la plage des anciennes données contient plus d'une seule ligne
Set ad = ad.Offset(1, 0).Resize(ad.Rows.Count - 1, ad.Columns.Count) 'redéfinit la plage (sans la première ligne)
ad.ClearContents 'efface les anciennes données
End If 'fin de la condition
Set sf = CreateObject("Scripting.FileSystemObject") 'définit le syteme de fichier sf
Set d = sf.GetFolder(ch) 'définit le dossier de travail d
Set fs = d.Files 'définit les fichiers fs du dossier d
For Each f In fs 'boucle sur tous les fichier f du dossier d
If f.Name <> "Tableau Recap.xls" Then 'si le nom du fichier est différent de "Tableau Recap.xls"
Workbooks.Open (f) 'ouvre le fichier
Set cs = ActiveWorkbook 'définit le classeur source
Set os = cs.Sheets("RécapGénéral") 'définit l'onglet source
Set dest = oc.Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0) 'définit la cellule de destination
dest.Value = os.Range("B2") 'récupère le Numéro d'affaire
dest.Offset(0, 1).Value = os.Range("B3") 'récupère le nom du client
dest.Offset(0, 2).Value = os.Range("B4") 'récupère la désignation
dest.Offset(0, 3).Value = os.Range("H2") 'récupère la date du devis
dest.Offset(0, 4).Value = os.Range("D54") 'récupère le prix de vente négocié
cs.Close SaveChanges:=False 'ferme le classeur source
cc.Save 'enregistre le classeur cible
End If 'fin de la condition
Next f 'prochain fichier de la boucle
End Sub