Filtrer une même colonne selon deux combobox

spoons Messages postés 122 Date d'inscription   Statut Membre Dernière intervention   -  
spoons Messages postés 122 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai un fichier Excel dans lequel je souhaite filtrer une colonne selon deux combobox.
Mon code est le suivant :

Private Sub ComboBox1_Change()
ComboBox1.List() = Sheets("ADMIN").Range("A2:A23").Value
End Sub

Private Sub ComboBox1_Click()

Sheets("DETAIL DES REFS").Rows("1:1").AutoFilter
If ComboBox1.Value <> "Tous" Then

Sheets("DETAIL DES REFS").Range("$A$1:$AG$6923").AutoFilter Field:=14, Criteria1:= _
"ALERTE"
Sheets("DETAIL DES REFS").Range("$A$1:$AG$6923").AutoFilter Field:=12, Criteria1:=ComboBox1.Value

End If
End Sub

Private Sub ComboBox4_Change()
ComboBox4.List() = Sheets("ADMIN").Range("A2:A21").Value
End Sub

Private Sub ComboBox4_Click()
Sheets("DETAIL DES REFS").Range("$A$1:$AG$6923").AutoFilter Field:=12, Criteria1:=ComboBox3.Value, Operator:=xlAnd, Criteria2:=ComboBox4.Value
'End If
End Sub


Le problème est que ça ne marche pas, en fait excel filtre déjà selon le critère de la combobox1 puis sur le critère de la combobox4, au lieu de filtrer simultanément la colonne selon les deux critères.
Pourriez-vous me dépanner svp ?

Merci d'avance !
A voir également:

1 réponse

spoons Messages postés 122 Date d'inscription   Statut Membre Dernière intervention   35
 
J'ai trouvé une solution à mon problème, j'ai créé une listbox dont les valeurs sélectionnées s'enregistrent dans un tableau qui est ensuite utilisé comme critère dans mon filtre. Mais j'ai un autre problème, je voudrais que le filtre ne soit pas "égal à" mais "contient", ce que je n'arrive pas à coder. Si vous pouviez m'aider ce serait super !!

Voici le code :

Dim tableau(1 To 20) As Variant

nb = Sheets("ACCUEIL").ListBox1.ListCount

j = 1
For I = 0 To nb - 1

If Sheets("ACCUEIL").ListBox1.Selected(I) Then
tableau(j) = Sheets("ACCUEIL").ListBox1.List(I)
j = j + 1
End If
Next I


Sheets("DETAIL DES REFS").Rows("1:1").AutoFilter
Sheets("DETAIL DES REFS").Range("$A$1:$AK$15000").AutoFilter Field:=13, Criteria1:=tableau, Operator:=xlFilterValues


Merci d'avance !!
0