Bête souci de critère sur AdvancedFilter

Rewstah

XLDnaute Nouveau
Bonjour à tous,

J'ai un souci, bête comme c'est pas permis, mais qui m'empêche de continuer mon projet!
Voilà, j'ai réalisé une macro de filtrage (AdvancedFilter), qui marche à merveille. Seul accroc, dans ma rangée de critères, un des critères est donné par une formule =SI(ConditionSurCritère=VRAI;"Critère";"").

J'avais comme espoir que lorsque "ConditionSurCritère=FAUX", ça me donne une cellule vide, correspondant à l'absence de ce critère dans le filtrage. Dans ce cas (idéal), ce critère ne serait pas pris en, compte.
Or, apparemment, une cellule vide et une cellule contenant ""; c'est pas pareil! Le filtre prend donc "" comme critère et me restitue donc n'importe quoi (ou rien du tout).

Y a-t-il moyen d'arranger ça?
Dites-le moi si je ne suis pas assez clair!
Et merci beaucoup ;)
 

Rewstah

XLDnaute Nouveau
Re : Bête souci de critère sur AdvancedFilter

Ok, mon entreprise m'interdit de communiquer mon document, cependant j'ai réalisé un exemple qui reflète mon problème de manière identique.

Brève explication:
Il s'agit d'une base de données de voitures, assortie d'une feuille de consultation de cette base.
Le bouton dans la feuille "Consultation" déclenche une macro "filtrage()" qui agit sur la base de données présente dans la feuille "BDD" et copie-colle les résultats de "BDD" à "Consultation".

Le problème:
Le critère "Puissance" est rempli dans la feuille "BDD" par l'intermédiaire d'une formule SI(Condition=VRAI;Critère;"") répétée, comme celle décrite dans mon premier post.
Or, quand je sélectionne dans la liste "Puissance" le choix Vide, contrairement aux listes "Constructeur" et "Classe", le critère est mal interprété et du coup, les résultats ne sortent pas!

Ma question est: comment restituer un critère VIDE par l'intermédiaire de la formule SI?

Merci d'avance!
 

Pièces jointes

  • testbasedonnees.xlsm
    20.7 KB · Affichages: 48
  • testbasedonnees.xlsm
    20.7 KB · Affichages: 54
  • testbasedonnees.xlsm
    20.7 KB · Affichages: 53
Dernière édition:
G

Guest

Guest
Re : Bête souci de critère sur AdvancedFilter

Re,

voici une solution

Feuille BDD!L2:
Code:
=[B]SI(ESTVIDE(Consultation!B8);">=0";[/B]SI(Consultation!B8="40 à 80";">40";"") & SI(Consultation!B8="80 à 120";">80";"") & SI(Consultation!B8="120 à 160";">120";"") & SI(Consultation!B8="plus de 160";">160";""))

BDD!M2:

Code:
=SI([B]ESTVIDE(Consultation!B8);">=0";[/B]SI(Consultation!B8="40 à 80";"<80";"") & SI(Consultation!B8="80 à 120";"<120";"") & SI(Consultation!B8="120 à 160";"<160";""))

Tu ne traites pas les cas où puissance =40 ou =80 <=160

P.s. j'ai horeur d'être bousculé par MP. Qu'on se le dise!:mad:
 

Discussions similaires

Réponses
5
Affichages
396
Compte Supprimé 979
C
Réponses
10
Affichages
869

Statistiques des forums

Discussions
312 775
Messages
2 092 023
Membres
105 150
dernier inscrit
maxissof