Private Sub Worksheet_Activate()
Dim Sh As Worksheet, Plage
Feuil5.Range("$A$2:$V" & Rows.Count).Clear
For Each Sh In Sheets(Array("march 1", "pdv1", "magasin", "depôt"))
If Sh.FilterMode Then Sh.ShowAllData
Set Plage = Sh.UsedRange
Plage.AutoFilter Field:=19, Criteria1:="en cours"
On Error Resume Next ' si filtre vide
Plage.Offset(1).Resize(Plage.Rows.Count - 1).SpecialCells(xlCellTypeVisible).Copy Feuil5.Range("a" & Feuil5.UsedRange.Rows.Count + 1)
On Error GoTo 0
Plage.AutoFilter
Next
End Sub