Code VBA filtre auto multi critere

Bonjour tout le monde,

j'ai besoin de faire un filtre multi critère, j'ai fait ce code, mais y a quelque chose qui bug ....

Voici mon code

Dim Criteres As Variant

'compte le nombre de lignes et colonnes

Range("A1").Select

nblignes = Range("A1", Selection.End(xlDown)).Cells.Count

nbColonnes = Range("A1", Selection.End(xlToRight)).Cells.Count

'Les critères de recherche

Criteres = Array("Approved", "Cancelled", "Closed", "Commitment made", "Completed", "Dispatched", "On-going", "Open", "Planned", "Positive Opinion", "Reclassified Downgrade", "Submitted", "No submission required", "Submitted to Agency")

ActiveSheet.Range("A1:" & nbColonnes & nblignes).AutoFilter Field:=11, Criteria1:=Criteres, Operator:=xlFilterValues

Si quelqu'un a une solution, je suis preneur

Merci par avance pour votre aide

Laurent

Bonjour,

ActiveSheet.Range("A1").AutoFilter Field:=11, Criteria1:=Criteres, Operator:=xlFilterValues

Ceuzin

Bonjour Ceuzin,

Merci pour ton aide

Maintenant j'ai la question en sans inverse, si je veux exclure ces critères, j'ai fait ce code, mais ça ne fonctionne pas. As-tu une idée ?

ActiveSheet.Range("A1").AutoFilter Field:=11, Criteria1:="<>" & Criteres, Operator:=xlFilterValues

Merci pour ton aide

Laurent

Voir exemple en PJ

Sub FiltreInverseListe()
  Set f1 = Sheets("feuil1")
  Set d = CreateObject("scripting.dictionary")
  d.CompareMode = vbTextCompare
  liste = Array("paris", "lyon", "bordeaux")            ' Liste à ne pas sélectionner
  For Each c In liste: d(c) = "": Next c
  Set f2 = Sheets("feuil1")
  Set d2 = CreateObject("scripting.dictionary")     ' liste complémentaire
  d2.CompareMode = vbTextCompare
  For Each c In f2.Range("B2:B" & f2.[B65000].End(xlUp).Row)
   If Not d.exists(c.Value) Then d2(c.Value) = ""
  Next c
  ActiveSheet.Range("$A$1:$B$100").AutoFilter Field:=2, Criteria1:=d2.keys, Operator:=xlFilterValues
End Sub

Ceuzin

Rechercher des sujets similaires à "code vba filtre auto multi critere"