none
filtrer une colonne par rapport à une autre RRS feed

  • Question

  • Bonjour

    j'ai utiliser le code suivant pour filtre une colonne par rapport a une cellule 

    Sub Macro1()   

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

    End Sub 

    Svp comment remplacer Range("H2") par toutes les valeurs qui se trouvent dans la colonne H

    merci



    samedi 11 mai 2019 13:02

Réponses

  • Bonjour,

    Voici une solution...

    Mais je vous conseille de poser vos critères ailleurs sinon, ceux-ci vont être également masqués.

    Sub Macro1()
    Dim strCriteria                                        As String
    Dim straValues                                         As Variant
    Dim C                                                  As Range
    Dim R As Integer
        'On suppose qu'il y a 10 critères (les vides sont ignorés)
        For Each C In Range("H2:H10")
            R = R + 1
            If Len(C.Value) Then
                strCriteria = strCriteria & Trim(C.Value) & ","
            End If
        Next
        'On enlève la virgule de fin
        strCriteria = Left(strCriteria, Len(strCriteria) - 1)
        'On affecte la chaine d ecritères à un Variant
        straValues = Split(strCriteria, ",")
        'On applique le filtre
        ActiveSheet.Range("$A$1:$B$47").AutoFilter Field:=1, Criteria1:=straValues, Operator:=xlFilterValues
    End Sub

    Bonne journée


    Argy

    mercredi 15 mai 2019 14:40
    Modérateur

Toutes les réponses

  • Bonjour,

    Voici une solution...

    Mais je vous conseille de poser vos critères ailleurs sinon, ceux-ci vont être également masqués.

    Sub Macro1()
    Dim strCriteria                                        As String
    Dim straValues                                         As Variant
    Dim C                                                  As Range
    Dim R As Integer
        'On suppose qu'il y a 10 critères (les vides sont ignorés)
        For Each C In Range("H2:H10")
            R = R + 1
            If Len(C.Value) Then
                strCriteria = strCriteria & Trim(C.Value) & ","
            End If
        Next
        'On enlève la virgule de fin
        strCriteria = Left(strCriteria, Len(strCriteria) - 1)
        'On affecte la chaine d ecritères à un Variant
        straValues = Split(strCriteria, ",")
        'On applique le filtre
        ActiveSheet.Range("$A$1:$B$47").AutoFilter Field:=1, Criteria1:=straValues, Operator:=xlFilterValues
    End Sub

    Bonne journée


    Argy

    mercredi 15 mai 2019 14:40
    Modérateur
  • Merci beaucoup Mr ça marche très bien

    lundi 10 juin 2019 21:28