Macro filtre selon plusieurs cellules.

Résolu
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

4 réponses

  1. redaiwa Messages postés 370 Statut Membre 119
     
    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)
    0
  2. Fullreyny
     
    Génial.
    Merci beaucoup Redaiwa.
    Ce conseil marche super et va me servir pour bien d'autre fonction ;)
    Ciao
    0
    1. redaiwa Messages postés 370 Statut Membre 119
       
      Content pour toi.
      Un conseil : l'enregistreur de macros est très utile pour comprendre comment construire les commandes en VB.
      0
  3. Fullreyny
     
    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.
    0
  4. Fullreyny
     
    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
    0