Macro à filtre multi critères contient/commence

Bonjour,

Je tente d'utiliser la macro suivante mais celle ci ne me renvoie aucun résultat dès que j'ajoute un troisième critère.

Auriez-vous une solution?

Sub TEST()

'

' TEST Macro

'

'

ActiveSheet.Range("$A$1:$B$13").AutoFilter Field:=1, Criteria1:=Array("101" & "*" _

, "102" & "*"), Operator:=xlFilterValues

End Sub

En d'autres termes je souhaite faire une macro qui permettrait de filtrer une colonne en fonction de plusieurs critères "contenant"

En pièce jointe, un fichier d'exemple avec le bouton 2 critères qui marche et 3 critères qui ne fonctionne pas.

Merci d'avance

Bonjour et bienvenue

Attention, tu as parfois du texte (102b) et parfois des nombres (102) ... mais ce n'est pas le seul problème, et en effet excel réagit mal à ta solution pourtant logique.

Je te propose du reste de mettre en paramètre en haut de la feuille les critères ... et tout fonctionne !! Mets tes données sous forme de tableau ...

Sub filtrer()
    ActiveSheet.ListObjects(1).Range.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1").CurrentRegion, Unique:=False
End Sub
136filtreplscritere.xlsm (18.12 Ko)

Bonjour Steelson,

Merci pour ta réponse mais ce qui va me poser problème c'est que de nouveaux critères vont arriver au fur et à mesure ce qui me force à revenir à chaque fois sur le tableau.

Les seuls critères constant étant le 101, 102, 104, 107. Si je m'arrange pour que cela soit toujours du texte il y aurait il une autre solutions?

Cordialement

Je ne peux pas en dire plus.

Même en passant les valeurs en texte, lorsque l'on teste ta macro avec 3 critères comme tu l'as écrit cela ne fonctionne pas. Et je ne comprends pas, ce n'est pas logique !

Par ailleurs, j'ai toujours pris l'habitude de mettre les paramètres dans les feuilles, cela évite d'aller dans les macros.

Normalement, tu peux déplacer le tableau vers le bas pour laisser plus de place aux valeurs qui viendraient se rajouter.

Bonjour,

Bon en fait j'ai opté pour autre chose que j'aurais dû penser dès le début !

ActiveSheet.Range("$A$4:$M$1054").AutoFilter Field:=1, Criteria1:="<>"

ActiveSheet.Range("$A$4:$M$1054").AutoFilter Field:=4, Criteria1:="=1**", _

Operator:=xlAnd

Comme ce qui m'intéresse c'est ce qui commencera forcément par 100 quelque chose cela marche ( bon à la condition que cela soit du texte je ne peux pas mélanger 101 et 101a mais ça je peux m'arranger pour l'instant)

En tout cas merci pour ton aide !

Rechercher des sujets similaires à "macro filtre multi criteres contient commence"