Un filtre avec plusieurs valeurs a la fois

bonjour
j’ai essaye les deux codes suivants pour fileter la colonne A par rapport a tous les valeurs de la colonne H mais ça marche pas

Sub Macro1()   
            ActiveSheet.Range("$A$1:$C$15").AutoFilter Field:=1, Criteria1:=Range("H2:H9").Value
End Sub

Sub Macro1()
        ActiveSheet.Range("$A$1:$C$15").AutoFilter Field:=1, Criteria1:=Array(Range("H2").Value, Range("H3").Value, Range("H4").Value, Range("H5").Value, Range("H6").Value, Range("H7").Value, Range("H8").Value, Range("H9").Value), Operator:=xlFilterValues
End Sub

SVP aidez moi
merciTEST.xlsx (16,9 Ko)

Bonjour,

As-tu trouvé la solution ? j’ai cherché de mon côté et suis étonné de bloquer sur cette question qui ne semble pas si compliquée pourtant.

bonjour
il y a deux solutions
1- utiliser le filtre avancé code présenter par Mr DanielCo
Range("A1:A19").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("H1:H9"), Unique:=False
2- utiliser le code vba suivant proposé par Mr par Jean-Eric

    Public Sub Filter_data()
    Dim lo As ListObject, rng As Range
    Dim rw As Long, i As Long
    Dim arrayCriteria()
        Set lo = Range("T_ID").ListObject
        rw = lo.ListRows.Count
        ReDim arrayCriteria(rw)
        For i = 1 To rw
            arrayCriteria(i) = lo.DataBodyRange.Cells(i, 1)
        Next i
        Set rng = Range("T_data")
        With rng.ListObject
            If .ShowAutoFilter Then .AutoFilter.ShowAllData
            .Range.AutoFilter field:=1, Criteria1:=arrayCriteria, Operator:=xlFilterValues
        End With
    End Sub

Public Sub Reset_filter()
Dim rng As Range
    Set rng = Range("T_data")
    With rng.ListObject
        If .ShowAutoFilter Then .AutoFilter.ShowAllData
    End With
End Sub

Un exemple dans le fichier joint.
test1.xlsm (28,2 Ko)

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.