Sub Regroupe()
Dim w As Worksheet, P As Range, r As Range, v1, v2$, coul&, lig&
Application.ScreenUpdating = False
With Sheets("Regroupe") 'nom à adapter
.Rows("4:" & .Rows.Count).Clear 'RAZ
For Each w In Worksheets
If w.Name <> .Name Then
Set P = Nothing
For Each r In w.UsedRange.Rows
v1 = Intersect(r.EntireRow, w.[F:F])
v2 = Intersect(r.EntireRow, w.[L:L]).Text
coul = Intersect(r.EntireRow, w.[A:A]).Interior.ColorIndex
If IsDate(v1) And (coul = xlNone Or coul = 2) Then _
If v1 >= Date And v2 = "" Then _
Set P = Union(r, IIf(P Is Nothing, r, P))
Next
If Not P Is Nothing Then
lig = Application.Max(4, .Cells(.Rows.Count, "F").End(xlUp).Row + 1)
P.EntireRow.Copy .Rows(lig)
End If
End If
Next
End With
End Sub