Sub Macro1()
Dim o As Object 'déclare la variable o (Onglet)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim dest As Range 'déclare la variable dest (cellule de DESTination)
For Each o In Sheets 'boucle 1 : sur tous les onglets du classeur
If o.Name <> "Récap" Then 'condition 1 : si le nom de l'onglet est diffférent de "Récap"
Set pl = o.Range("A1:A" & o.Cells(Application.Rows.Count, 1).End(xlUp).Row) 'définit la plage pl
For Each cel In pl 'boucle 2 sur toutes les cellules cel de la plage pl
If cel.Value <> "" Then 'condition 2 : si la cellule cel n'est pas vide
'définit la cellule de destination dest (première cellule vide de la colonne A de l'onglet "Récap")
Set dest = Sheets("Récap").Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0)
dest.Value = cel.Value 'place dans dest A la valeur de la colonne A
'place à partir de la colonne B les valeurs des colonnes F, G, H, et I
dest.Offset(0, 1).Value = o.Range(cel.Offset(0, 5), cel.Offset(0, 8))
End If 'fin de la condition 2
Next cel 'prochaine cellule de la boucle 2
End If 'fin de la condition 1
Next o 'prochain onglet de la boucle 1
End Sub