Sub FiltrerTrier()
Dim t, Critere As String, n&, i&, j&
On Error GoTo FIN
Application.EnableEvents = False
Application.ScreenUpdating = False
Critere = Replace(Left(Range("genre"), 1), "T", "") & "*"
t = Sheets("données").ListObjects(1).DataBodyRange.Columns("a:f")
For i = 1 To UBound(t)
If UCase(t(i, 6)) Like Critere Then n = n + 1: For j = 2 To UBound(t, 2): t(n, j) = t(i, j): Next
Next i
With Sheets("liste").ListObjects(1)
If Not .DataBodyRange Is Nothing Then .DataBodyRange.Delete
If Not n = 0 Then
.Range(2, 1).Resize(n, UBound(t, 2)) = t
.Range.Sort key1:=.ListColumns(2), order1:=xlAscending, Header:=xlYes, key2:=.ListColumns(3), order2:=xlAscending
End If
End With
FIN:
Application.EnableEvents = True: Beep
End Sub