Le code du fichier exemple :
'----------------------------------------------------------------
Sub Test()
Dim T As ListObject, T2 As ListObject, X As Variant
Dim LeFiltre As Filter, Rg As Range, A As Long
'Oᅵ est le tableau ᅵ copier
Set T = Feuil1.ListObjects(1)
'Destination de la copie
Set Rg = Feuil2.Range("H11")
'Copie du tableau
With T
.Range.Copy Rg
Set T2 = Rg.ListObject
End With
'Section qui applique les mᅵmes filtres sur le tableau
'de destination que le tableau source
With Worksheets(
T.Range.Parent.Name)
With .ListObjects(T.Name)
For Each LeFiltre In .AutoFilter.Filters
A = A + 1
With LeFiltre
If .On Then
Select Case .Operator
Case 1, 2 'XlAnd ou XlOr
T2.Range.AutoFilter Field:=A, Criteria1:=.Criteria1, _
Operator:=.Operator, Criteria2:=.Criteria2
Case Else
T2.Range.AutoFilter Field:=A, Criteria1:=.Criteria1, _
Operator:=.Operator
End Select
End If
End With
Next
End With
End With
End Sub
'----------------------------------------------------------------