Sub Macro2()
Dim pl As Range
Set pl = Range("A1:T" & [A65000].End(xlUp).Row)
pl.Name = "base"
For Each sh In Sheets
If sh.Name <> "Feuil1" Then
If sh.Name <> "sans type" Then
With sh
.[V1] = "type choix"
.[V2] = sh.Name
Range("base").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.[V1:V2], CopyToRange:=.Range("A1:T1"), Unique:=False
.[V1:V2].ClearContents
End With
Else
With sh
.[V1] = "type choix"
.[V2] = ""
Range("base").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.[V1:V2], CopyToRange:=.Range("A1:T1"), Unique:=False
.[V1:V2].ClearContents
End With
End If
End If
Next sh
End Sub