Bonjour,

Je ne comprends pas pourquoi mon code VBA ne marche pas...

Ci-dessous mon tableau que je veux filtrer via VBA :

Nom : Filtre.jpg
Affichages : 144
Taille : 52,0 Ko

Et ci-dessous mon 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
 
Sub filtre_tableau()
'
' filtre_tableau Macro
'
'
Nom = InputBox("Quel nom voulez-vous filtrer?", "Choix du nom")
Prenom = InputBox("Quel prénom voulez-vous choisir?", "Choix du prénom")
If Prenom = "" Then
 ActiveSheet.Range("$A$1:$C$19").AutoFilter Field:=1, Criteria1:=Nom 'Filtrer la colonne 1 avec le critère Nom
 ActiveSheet.Range("$A$1:$C$19").AutoFilter Field:=2 'Défiltrer la colonne 2
Else
 ActiveSheet.Range("$A$1:$C$19").AutoFilter Field:=1, Criteria1:=Nom 'Filtrer la colonne 1 avec le critère Nom
 ActiveSheet.Range("$A$1:$C$19").AutoFilter Field:=2, Criteria1:=Prenom 'Filtrer la colonne 2 avec le critère Prénom
End If
 
If Nom = "" Then
 ActiveSheet.Range("$A$1:$C$19").AutoFilter Field:=1 'Défiltrer la colonne 1
 ActiveSheet.Range("$A$1:$C$19").AutoFilter Field:=2, Criteria1:=Prenom 'Filtrer la colonne 2 avec le critère Prénom
Else
  ActiveSheet.Range("$A$1:$C$19").AutoFilter Field:=1, Criteria1:=Nom 'Filtrer la colonne 1 avec le critère Nom
 ActiveSheet.Range("$A$1:$C$19").AutoFilter Field:=2, Criteria1:=Prenom 'Filtrer la colonne 2 avec le critère Prénom
End If
 
End Sub

Exemple du problème :

Lorsque je mets Q pour Nom et rien pour Prenom, le filtre m'affiche vide alors que deux lignes devraient apparaître dont le Téléphone est 1 et 2
Mais lorsque je mets rien pour Nom et André pour Prenom, les deux lignes dont le Telephone est 1 et 2 apparaissent bien.


Merci pour votre aide