Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA Filtre auto plus de 2 critéres

2 réponses
Avatar
Nicolas Scheibling
Bonjour,
j ai un petit soucis avec VBA pour excel
je possede une liste de données où je voudrais appliquer un filtre sur une
chaine de caractére
(cad qu une cellule ne contient pas un seul mot) jusqu'ici tout va bien.
Seulement voila je voudrais appliquer plusieurs critéres (la colone3 doit
contenit "ce mot" et "ce mot" et "ce mot " sachant que le nombre de critere
varie entre 1 et 8

strCriter2 = "*ava*"

Selection.AutoFilter Field:=3, Criteria1:=strCriter1, Operator:=xlAnd, _
Criteria2:=strCriter2

Selection.AutoFilter Field:=3, Criteria1:=strCriter3, Operator:=xlAnd, _
Criteria2:=strCriter4

Mon probleme est que ca ne marche pas et que je n arrive pas a utiliser un
filtre élaboré ds le meme but
jusqua 2 criteres tout va bien avec le filtre auto.
D'apres ce que j ai lu (un jour sur une page que je ne retrouve plus) il
est possible de faire des filtres les uns apres les autres mais je dois pas
avoirt la bonne technique.

De plus mis part cela je recherche une bonne doc sur l api vba notemment
avec la description des fonctions l usage et des exemples eventuellement,
car le site d MSDN est plus que deshuet a mon gout.

Merci pour vos précisions
Nico

2 réponses

Avatar
AV
Exemple avec tes données en Plage A1:Cx
En ligne 1 des étiquettes de colonnes (obligatoire !)
E1 : vide
E2 : =ESTNUM(TROUVE("mot1";C2)*TROUVE("mot2";C2)*TROUVE("mot3";C2))

Filtre élaboré sur la plage A1:Cx
Zone de critères : E1:E2


Les mots recherchés sont à adapter !
AV

"Nicolas Scheibling" a écrit dans le message news:
3f40859b$0$234$
Bonjour,
j ai un petit soucis avec VBA pour excel
je possede une liste de données où je voudrais appliquer un filtre sur une
chaine de caractére
(cad qu une cellule ne contient pas un seul mot) jusqu'ici tout va bien.
Seulement voila je voudrais appliquer plusieurs critéres (la colone3 doit
contenit "ce mot" et "ce mot" et "ce mot " sachant que le nombre de critere
varie entre 1 et 8

strCriter2 = "*ava*"

Selection.AutoFilter Field:=3, Criteria1:=strCriter1, Operator:=xlAnd, _
Criteria2:=strCriter2

Selection.AutoFilter Field:=3, Criteria1:=strCriter3, Operator:=xlAnd, _
Criteria2:=strCriter4

Mon probleme est que ca ne marche pas et que je n arrive pas a utiliser un
filtre élaboré ds le meme but
jusqua 2 criteres tout va bien avec le filtre auto.
D'apres ce que j ai lu (un jour sur une page que je ne retrouve plus) il
est possible de faire des filtres les uns apres les autres mais je dois pas
avoirt la bonne technique.

De plus mis part cela je recherche une bonne doc sur l api vba notemment
avec la description des fonctions l usage et des exemples eventuellement,
car le site d MSDN est plus que deshuet a mon gout.

Merci pour vos précisions
Nico







Avatar
AV
Merci du conseil, mais cela me semble fait pour obtenir un resultat dans
une cellule
Ben pas vraiment et même pas du tout : c'est une zone de critère avec un champ

calculé

(c pour ca que j utilisais un filtre)


Il s'agit bien (comme dit dans la réponse) d'un filtre !(élaboré)
Donc il s'en suit une extraction (filtrage sur place ou ailleurs)

AV