Bonjour,

J'ai quelques petits problèmes pour créer un code VBA.
J'ai 3 critères que l'utilisateur peut choisir à l'aide d'une liste déroulante.
1 er critère : la date (B3)
2 eme critère : la région (C3)
3 ème critère : la ville (D3)

Le but est que lorsque utilisateur choisit ces critères , un filtre permet d'apparaître que les données demandées dans la base de donnée.
Pour ces 3 critères ,dans chaque liste déroulante, il y a "tous" qui permet de sélectionner toutes les données dans chaque liste déroulante.

J'ai commencé un code.
Pour résumer le code, si je sélectionne "tous" pour un critère alors je filtre selon les deux autres critères.Je les réécris trois fois en simulant le "tous" pour chaque critère.Mais si je ne sélectionne pas "tous "dans un des 3 critères le code ne fonctionne pas.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub essai()
Range("a5:aj6900").Select
 Selection.AutoFilter
 
If Range("b3").Value = "TOUS" Then
Selection.AutoFilter Field:=4, Criteria1:=[C3], Operator:=xlAnd
Selection.AutoFilter Field:=36, Criteria1:=[d3], Operator:=xlAnd
Else
Cells.EntireRow.Hidden = False
End If
If Range("C3").Value = "TOUS" Then
Selection.AutoFilter Field:=1, Criteria1:=[B3], Operator:=xlAnd
Selection.AutoFilter Field:=36, Criteria1:=[d3], Operator:=xlAnd
Else
Cells.EntireRow.Hidden = False
End If
If Range("D3").Value = "TOUS" Then
Selection.AutoFilter Field:=1, Criteria1:=[B3], Operator:=xlAnd
Selection.AutoFilter Field:=4, Criteria1:=[C3], Operator:=xlAnd
Else
Cells.EntireRow.Hidden = False
End If
End Sub
Pouvez-vous svp m'aider?