Condition IF avec filtre auto pour filtre multicriteres

Payou

XLDnaute Occasionnel
Bonjour a tous,

Voila mon probleme. J'aimerais faire un filtre multi critere, mais celui ci ne fonctionne pas (ligne orange).

Je vous mets le code:

Code:
If Model <> "" Then
[COLOR="DarkOrange"]If BatchNumber And Productcode = "" Then[/COLOR]
Unfilter
Sheets("Data base").Range("A8").AutoFilter 4, Model
Sheets("research").Range("D7:D9").ClearContents
Else
Sheets("Data base").Range("A8").AutoFilter 4, Model
Sheets("research").Range("D7:D9").ClearContents
End If
End if

Donc en mots ca veux dire: Si la case model est remplie et qu'une autre des deux cases de recherches est rempli, alors il filtre aussi selon l'autre critère, sachant que j'ai encore 2 fois la même formule pour les deux autres critères et que ce ci se suivent dans le reste de ma formule. Mais si jamais les deux autres critères de recherches sont vides alors il unfiltre la feuille pour être sur, puis la refiltre.

En espérant avoir été compréhensible (j'ai un vieux doute).

Merci de vos réponses :)

P.S: Si vous avez besoin de tout le code je peux le mettre, mais c'est pour pas alourdir le post :D
 
Dernière édition:

Catrice

XLDnaute Barbatruc
Re : Condition IF avec filtre auto pour filtre multicriteres

Bonjour,

Il faut l'écrire comme ceci :

If BatchNumber = "" And Productcode = "" Then


Pas tres bien compris ce que fait ton code mais là tu fais 2 fois la meme chose ...
Tu peux l'écrire comme ceci :

If Model <> "" Then
If BatchNumber = "" And ProductCode = "" Then Unfilter
Sheets("Data base").Range("A8").AutoFilter 4, Model
Sheets("research").Range("D7:D9").ClearContents
End If
 
Dernière édition:

Payou

XLDnaute Occasionnel
Re : Condition IF avec filtre auto pour filtre multicriteres

Re Catrice,

Juste par rapport a ton dernier post, c'est pas pareil, toute la difference est censée résider dans le "Else". Car en fait j'aimerais que si plusieurs champs de tri sont remplis, alors il me fait un premier tri, ici par model, mais dans la suite de mon code j'ai le même code, avec a la place de model "batchnumber" par exemple. Et donc qu'il continue sont tri, et filtre cette fois-ci la feuille par batchnumber. Dans le cas ou les autres critères de sélection seraient vide, alors, il me defiltre la page, pour être sur que toutes les données sont la, et me la refiltre avec mes infos.]

Ai-je été plus compréhensible sur ce coup la?

Peut être avec le code complet ce sera plus parlant, je prépare un fichier exemple également dans le doute.
 

Pièces jointes

  • Sample Domicil v5.02.zip
    36.5 KB · Affichages: 129
  • Sample Domicil v5.02.zip
    36.5 KB · Affichages: 129
  • Sample Domicil v5.02.zip
    36.5 KB · Affichages: 129
Dernière édition:

Payou

XLDnaute Occasionnel
Re : Condition IF avec filtre auto pour filtre multicriteres

C'est gentil Catrice, mais je viens de résoudre mon problème. C'était juste un probleme de syntaxe... Voila de que je devais mettre en fait pour ce que ça pourrait intéresser:
Code:
Sub Research()

Dim W As Worksheet
Dim BatchNumber$
Dim Model$
Dim Productcode$
Set W = Sheets("Research")
BatchNumber = W.[D7].Text
Model = W.[D8].Text
Productcode = W.[D9].Text

If Model <> "" Then
If BatchNumber [COLOR="Red"]<> ""[/COLOR] Or Productcode <> "" Then
Sheets("Data base").Range("A8").AutoFilter 4, Model
W.Range("D8").ClearContents
Else
Unfilter
Sheets("Data base").Range("A8").AutoFilter 4, Model
W.Range("D8").ClearContents
End If
End If

If BatchNumber <> "" Then
If Model [COLOR="Red"]<> ""[/COLOR] Or Productcode <> "" Then
Sheets("Data base").Range("A8").AutoFilter 9, BatchNumber
W.Range("D7").ClearContents
Else
Unfilter
Sheets("Data base").Range("A8").AutoFilter 4, Model
W.Range("D7").ClearContents
End If
End If

End Sub

On rajoute ainsi autant de filtres que l'on veut. Ce code permet de faire un multifiltre pour être plus précis dans la recherche.
Ainsi si plusieurs des cases de recherches sont remplies, le filtre fera un tri en fonction du premier critère, puis du second etc, mais ne fera qu'un tri dans le cas ou un seul des critères sera remplis.

Ainsi même si plusieurs modèles existent, on peut approfondir la sélection, en utilisant son numéro de suivi ou autre.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 438
Messages
2 088 409
Membres
103 844
dernier inscrit
salma123