Bonjour,

J'ai réussi à créer (en faisant un copier coller je vous rassure) une code me permettant de faire une recherche d'information dans un tableau sous Excel.

Je m'explique, j'ai 4 colonnes dans un tableau et je cherchais à taper dans une celule en dehors du tableau une valeur et si elle se trouvait dans le tableau alors le tableau affichait uniquement la ligne de cette valeur.
Tout fonctionne bien avec ce code :
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Private Sub Worksheet_Change(ByVal Target As Range)
    'Commande
    'en a6 la valeur rechercher dans la colonne a
    'en tapant vide le tableau doit être filtrer sur les champs vide
    If Not Application.Intersect(Target, Range("a6")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        If Range("a6") = "vide" Then
                Range("a6").Value = "="
                Range("a8:af15000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
                Range("a5:a6"), Unique:=False
             Else
                Range("a8:af15000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
                Range("a5:a6"), Unique:=False
            End If
    End If
 
    'Date
    If Not Application.Intersect(Target, Range("b6")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        If Range("b6") = "vide" Then
                Range("b6").Value = "="
                Range("a8:af15000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
                Range("b5:b6"), Unique:=False
             Else
                Range("a8:af15000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
                Range("b5:b6"), Unique:=False
            End If
    End If
 
    'Fournisseur
    If Not Application.Intersect(Target, Range("c6")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
            If Range("c6") = "vide" Then
                Range("c6").Value = "="
                Range("a8:af15000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
                Range("c5:c6"), Unique:=False
             Else
                Range("a8:af15000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
                Range("c5:c6"), Unique:=False
            End If
    End If
End Sub

Mon problème est le suivant :
le code ne cumule pas 2 filtres je m'explique si je mets "toto" en a6 alors il filtre bien sur toto cependant si je mets ensuite "rue de la frais" en b6 il filtre uniquement sur "rue de la fraise" et il oublie le premier filtre de la colonne a.

Suis je bien clair ?

Je l'espère

En tout cas merci pour votre aide

Nini