Macro filtre selon plusieurs cellules.
Résolu
Fullreyny
-
Fullreyny -
Fullreyny -
Bonjour.
Je suis à la recherche d'une macro pour filtré selon plusieurs cellules.
Je sais le faire avec une seul cellule :
ActiveSheet.Range("$A$2:$E$10000").AutoFilter Field:=1, Criteria1:=Range("I2").Value
Mais je souhaite le faire selon plusieurs cellules ou encore mieux selon une plage de cellules
du genre :
ActiveSheet.Range("$A$2:$E$10000").AutoFilter Field:=1, Criteria1:=Range("I2").Value, Criteria2:=Range("I3").Value...
ou
ActiveSheet.Range("$A$2:$E$10000").AutoFilter Field:=1, Criteria1:=Range("I2:I20").Value
Malheureusement ce n'est pas si simple que ça ;/
Un coups de main serait le bien venu.
Merci
Je suis à la recherche d'une macro pour filtré selon plusieurs cellules.
Je sais le faire avec une seul cellule :
ActiveSheet.Range("$A$2:$E$10000").AutoFilter Field:=1, Criteria1:=Range("I2").Value
Mais je souhaite le faire selon plusieurs cellules ou encore mieux selon une plage de cellules
du genre :
ActiveSheet.Range("$A$2:$E$10000").AutoFilter Field:=1, Criteria1:=Range("I2").Value, Criteria2:=Range("I3").Value...
ou
ActiveSheet.Range("$A$2:$E$10000").AutoFilter Field:=1, Criteria1:=Range("I2:I20").Value
Malheureusement ce n'est pas si simple que ça ;/
Un coups de main serait le bien venu.
Merci
4 réponses
-
Salam Fullreyny.
Il suffit d'insérer un opérateur "xlAnd" ou "xlOr" comme ceci:ActiveSheet.Range("$A$2:$E$10000").AutoFilter Field:=1, Criteria1:=Range("I2").Value, Operator:=xlOr, Criteria2:=Range("I3").Value
Essaye et dis-nous si ça marche.
"Repousse le mal par le bien; et voilà que celui avec qui tu avais une animosité devient tel un ami chaleureux" (Coran)
"Celui qui ne sait pas partager est infirme de ses émotions". (Marc Levy) -
Génial.
Merci beaucoup Redaiwa.
Ce conseil marche super et va me servir pour bien d'autre fonction ;)
Ciao -
En faite il me reste un problème, ça ne fonctionne pas avec xlAnd. du coup je ne peux pas en mettre plus que 2.
-
J'ai trouvé.
ActiveSheet.Range("$A$1:$I$558").AutoFilter Field:=1, Criteria1:=Array( _
Range("I2").Value, Range("I3").Value, Range("I4").Value, Range("I5").Value, Range("I7").Value, Range("I8").Value, Range("I9").Value, Range("I10").Value, ""), Operator:=xlFilterValues
Redaiwa
Merci pour ton aide et merci pour ta petite phrase (enregistreur de macro) qui m'a ouvert l'esprit.
Ciao