Sub Macro1()
Dim s As Workbook 'déclare la variable s (classeur Source)
Dim r As Workbook 'déclare la variable r (classeur Relances)
Dim chem As String 'déclare la variable chem (CHEMin d'accès)
Dim i As Byte 'déclare la variable i (incrément de classeur)
Dim x As Byte 'déclare la variable x (incrément d'onglet)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim dest As Range 'déclare la variable dest (DESTination)
Set r = ThisWorkbook 'définit le classeur Relances
chem = r.Path & "\" 'définit le chemin d'accès
For i = 1 To 10 'boucle 1 : sur les 10 classeurs "Tableau"
Workbooks.Open (chem & "Tableau " & i & ".xls") 'ouvre le classeur indexé
Set s = ActiveWorkbook 'définit le classeur source s
For x = 1 To s.Sheets.Count 'boucle 2 : sur tous les onglets du classeur source
With Sheets(x) 'prend en compte l'onglet indexé
'boucle 3 : sur toutes les cellules éditées cel de la colonne B
For Each cel In .Range("B10:B" & .Range("B65536").End(xlUp).Row)
'condition : si la date du jour est supérieure de 2 mois à celle de la celllule cel
'et si la colonne H est vide
If Date > CDate(Day(cel.Value) & "/" & Month(cel.Value) + 2 & "/" & Year(cel.Value)) _
And cel.Offset(0, 6).Value = 0 Then
' definit la cellule de destination
Set dest = r.Sheets("Relances").Range("A65536").End(xlUp).Offset(1, 0)
dest.Value = Split(s.Name, ".", -1)(0) 'nom du classeur dans la cellule de destination
dest.Offset(0, 1).Value = Sheets(x).Name ' onglet dans la cellule colonne B
'copie la plage A:G de cel et la colle dans la colonne C de dest
.Range(cel.Offset(0, -1), cel.Offset(0, 5)).Copy dest.Offset(0, 2)
End If 'fin de la condition
Next cel 'prochaine cellule cel de la boucle 3
End With 'fin de la prise en compte de l'onglet indexé
Next x 'prochain onglet de la boucle 2
s.Close 'ferme le classeur indexé
Next i 'prochain classeur de la boucle 1
End Sub