Bonjour à tous,
Mes connaissances en VBA étant très limitées et ayant besoin d’un petit coup de pouce de votre part, je vous fais par de mon problème :
Je souhaiterais pouvoir filtrer les valeurs d’une colonne en effectuant un tri sélectif depuis une listbox (ces valeurs étant « Live », « Future », « Expired »)
Le code que j’utilise ne me permet d’effectuer le filtre que sur la dernière valeur sélectionnée dans la listbox. Par exemple, si je sélectionne la valeur « Live », le code va bien effectuer le filtre en fonction de ce critère et va afficher uniquement les lignes concernées par la valeur « Live ». Par contre, lorsque je sélectionne sur ma listbox une deuxième valeur en plus de la première (par exemple, « Live » et « Future »), le tri initial sur « Live » s’efface et s’effectue uniquement sur « Future »… Bref, impossible d’effectuer le filtre sur plusieurs valeurs en même temps.
Auriez-vous des astuces pour résoudre le problème ?
En vous remerciant par avance!
Voici le code utilisé (et fichier ci-joint)
Private Sub ListBox1_Change()
Application.ScreenUpdating = False
Dim selected As Boolean
selected = ListBox1.selected(0)
If (selected = True) Then
ActiveSheet.Range("$B$4:$O$30").AutoFilter Field:=14, Criteria1:= _
"=*Live*", Operator:=xlAnd
End If
selected = ListBox1.selected(1)
If (selected = True) Then
ActiveSheet.Range("$B$4:$O$30").AutoFilter Field:=14, Criteria1:= _
"=*Expired*", Operator:=xlAnd
End If
selected = ListBox1.selected(2)
If (selected = True) Then
ActiveSheet.Range("$B$4:$O$30").AutoFilter Field:=14, Criteria1:= _
"=*Future*", Operator:=xlAnd
End If
Application.ScreenUpdating = True
End Sub