Sub FiltreBanque()
Dim LO As ListObject, TCritBQ(), N&, Pers$
Set LO = Feuil1.ListObjects(1)
LO.Range.AutoFilter
ReDim TCritBQ(0 To 2): N = -1
If BQ1.Value Then N = N + 1: TCritBQ(N) = "Banque1"
If BQ2.Value Then N = N + 1: TCritBQ(N) = "Banque2"
If BQ3.Value Then N = N + 1: TCritBQ(N) = "Banque3"
If N >= 0 Then
ReDim Preserve TCritBQ(0 To N)
LO.Range.AutoFilter Field:=1, Criteria1:=TCritBQ, Operator:=xlFilterValues
End If
Pers = Switch(P1.Value, "Pers_1", P2.Value, "Pers_2", P3.Value, "Pers_3", True, "")
If Pers <> "" Then LO.Range.AutoFilter Field:=2, Criteria1:=Pers
End Sub