XL 2013 filtre à plusieurs critéres

  • Initiateur de la discussion Initiateur de la discussion mobenjilali
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mobenjilali

XLDnaute Occasionnel
bonjour
Je veux faire un filtre sur la même colonne avec plusieurs critères, le besoin est dans cette formule qui ne fonctionne pas bien sur
merci de votre aide

ActiveSheet.Range("A1:$G$30000").AutoFilter Field:=5, Criteria1:="TEST", Criteria2:="=*DEM**", Criteria3:="=*ETT**", Criteria4:="=*REM**", Criteria5:="=*REF**", Criteria6:="=*SCO**", Criteria7:="=*SOC**", Criteria8:="=*TRT**", Criteria9:="VOIR ", Operator:=xlAnd
 
re
bonjour
je confirme c'est "xlOr"
VB:
Sub test()
    ActiveSheet.Range("A1:$G$30000").AutoFilter Field:=5, _
                                                Criteria1:="TEST", _
                                                Criteria2:="=*DEM*", _
                                                Criteria3:="=*ETT*", _
                                                Criteria4:="=*REM*", _
                                                Criteria5:="=*REF*", _
                                                Criteria6:="=*SCO*", _
                                                Criteria7:="=*SOC*", _
                                                Criteria8:="=*TRT*", _
                                                Criteria9:="VOIR ", _
                                                Operator:=xlOr


End Sub
 
Bonjour mobenjilali, fanch55, patricktoulon,

Utilisez la colonne auxiliaire H :
VB:
Sub test()
ActiveSheet.Range("H2:H30000") = "=SIGN(COUNT(LN(E2=""TEST""),SEARCH(""DEM"",E2),SEARCH(""ETT"",E2),SEARCH(""REM"",E2),SEARCH(""REF"",E2),SEARCH(""SCO"",E2),SEARCH(""SOC"",E2),SEARCH(""TRT"",E2),LN(E2=""VOIR "")))"
ActiveSheet.Range("H1:H30000").AutoFilter Field:=1, Criteria1:=1
End Sub
On pourrait aussi utiliser le filtre avancé.

A+
 
La macro pour le filtre avancé entre le critère en H2 :
VB:
Sub test2()
ActiveSheet.Range("H2") = "=COUNT(LN(E2=""TEST""),SEARCH(""DEM"",E2),SEARCH(""ETT"",E2),SEARCH(""REM"",E2),SEARCH(""REF"",E2),SEARCH(""SCO"",E2),SEARCH(""SOC"",E2),SEARCH(""TRT"",E2),LN(E2=""VOIR ""))"
ActiveSheet.Range("A1:G30000").AdvancedFilter xlFilterInPlace, ActiveSheet.Range("H1:H2")
End Sub
 
re
ce que je voulais dire c'est cela
comme ça on a qu'un array a gérer ,modifier
et elle peut etre ré utilisée pour une autre colonne
VB:
Sub test()
    x = Split("TEST,*DEM,*ETT,*REM,*REF,*SCO,*SOC,*TRT,VOIR  ", ",")    'ajouter ou supprimer au besoins un item
    MsgBox formule(x, "E2")
' tu filtre ici 
End Sub

Function formule(x, cel) As String
'les items pour XLPART doivent etre précédés d'un((*))
    formule = "=SIGN(COUNT("
    For i = 0 To UBound(x)
        If InStr(x(i), "*") > 0 Then x(i) = Replace(x(i), "*", "SEARCH(""""") & """""," & cel & ")" Else x(i) = "LN(" & cel & ",""""" & x(i) & """"")"
    Next
    formule = formule & Join(x, ",")
    Debug.Print formule
End Function
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
1 K
Réponses
3
Affichages
1 K
Retour