Prob avec la recherchev

Fermé
lord_morkultas - 7 déc. 2008 à 15:39
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 7 déc. 2008 à 18:10
Bonjour,

j'arrive pas à faire fonctionner mon test correctement avec la recherchev

=SI(C17="";"");SI(OU(C17>Début;C17<Fin);C17;SI(recherchev=(RECHERCHEV(C17;xDonne;1));RECHERCHEV(C17;xDonne;2);"Code Incorrect"))

est-ce que quelqu'un peut me dire où est l'erreur je ne la vois pa du tout

en 2 mots au début je teste si ma cellule est vide, ensuite si mon code est plus petit que le plus petit des codes et si il est plus grand que le plus grand des codes, ensuite je voudrais tester si la valeur que je tape est bien un code valide donc si je tape dans mon cas 33 il doit m'affiche une erreur...

merci d'avance

6 réponses

lord_morkultas
7 déc. 2008 à 15:52
personne ne voit où peut etre mon erreur dans cette formule ?
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
7 déc. 2008 à 16:36
Bonsoir
*Deux choses :

1)SI(recherchev=(RECHERCHEV(C17;xDonne;1)) ....
pas facile de voir à quoi cela correspond (rechecherv= Tout seul?)

2)la recherche V comme vous l'avez formulée nécessite que votre tableau soit classé par odre croissant dans la colonne de recherche (la 1° du champ xDonne apparemment)
pour éviter cela:
Compléter votre recherche v en terminant par ;0) ou ;FAUX)

soit:
................RECHERCHEV(C17;xDonne;1;0;RECHERCHEV(C17;xDonne;2;0).............
Ce qui élimine la contrainte de classement.... et devrait donner:
SI(C17="";"");SI(OU(C17>Début;C17<Fin);C17;SI(RECHERCHEV(C17;xDonne;1;0));RECHERCHEV(C17;xDonne;2;0);"Code Incorrect"))
Ceci dansun premier temps!.
Rerste à savoir ensuite ce que vous voulez faire avec la fin dela formule:
gras>SI(RECHERCHEV(C17;xDonne;1;0));
Si c'est uniquement pour vérifier que
SI(RECHERCHEV(C17;xDonne;1;0)) soit vrai, ça devrait peut être marcher (je n'en suis pas sur)?, mais s'il y a une autre condition à vérifier avec cet item, où est elle?



Crdlmnt

-
La vérité ne se possède pas, elle se cherche seulement
0
lord_morkultas
7 déc. 2008 à 16:46
merci de m'avoir répondu mais je suis désolé de te dire que je n'ai pas compris ce que tu me disais...

j'aimerais faire les tests suivants :

1 : si la cellule ne contient rien alors je n'affiche rien : =SI(C17="";"");

2 : si la valeur que je tape est plus petite que le plus petit de mes codes ou plus grand que le plus grand que mes codes alors j'affiche code hors table : SI(OU(C17>Début;C17<Fin);C17;

3 : je voudrais tester si la valeur que je tape est bien une valeur qui existe dans mon table de référence xDonne :
SI(recherchev=(RECHERCHEV(C17;xDonne;1));RECHERCHEV(C17;xDonne;2);"Code Incorrect"))

4 : si ce n'est pas le cas j'afficherais une erreur

s'il vous plait aidez-moi j'ai un test demain et je ne comprends pas tout ...

merci d'avance à tous j'espère que j'ai été clair sur ma façon d'expliquer
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
7 déc. 2008 à 16:58
RE

: si la cellule ne contient rien alors je n'affiche rien : =SI(C17="";"")
La 'daccord, mais si la cellule C17 contient une formule, ça ne marche pas car elle n'est pas vide: il faut remplacer "" par 0

2 : si la valeur que je tape est plus petite que le plus petit de mes codes ou plus grand que le plus grand que mes codes alors j'affiche code hors table : SI(OU(C17>Début;C17<Fin);C17.............
Là, c'est OK si les cellules code s'appellent bien "Debut "pour le plus hpetit est et" Fin"pour le plus grand.

3 : je voudrais tester si la valeur que je tape est bien une valeur qui existe dans mon table de référence xDonne :SI(recherchev=(RECHERCHEV(C17;xDonne;1));RECHERCHEV(C17;xDonne;2);"Code Incorrect"))

Pa contre, là, essayez:
SI(ESTNA(RECHERCHEV(C17;xDonne;1;0);"Code incorrect";RECHERCHEV(C17;xDonne;2;0)))
Cette formule va vous renvoyer "Code incorrect" si elle ne trouve pas dans la 1° colonne du champ x Donne la valeur de C17, sinon elle vous renverra ce qu'elle trouve dans la 2° colonne du champ xDonne correspondant à la valeur C17

Bonnechance
Crdflmnt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lord_morkultas
7 déc. 2008 à 17:06
tout d'abord merci de ta réponse

1 : la cellule C17 est la celulle où je tape effectivement ma formule. ok je vais mettre 0

2 : ok j'ai rien à dire

3 : en revanche là oui. mon test se base uniquement sur la recherchev je n'ai pas le droit d'utiliser une autre formule mais je sais que cela est possible de le faire puisque notre prof nous a dit qu'il n'avait que utiliser la recherchev

si tu pouvais juste m'aider avec le 3ème point ça serait super parce que je comprends pas vraiment mon erreur :S
0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 240
7 déc. 2008 à 18:04
Bonjour,

vaucluse t'a tout dit pour le 3°, il suffit de lire.
Peut-être que sous cette forme ça te paraitra plus clair :
SI(ESTERREUR(RECHERCHEV(C17;xDonne;1;0);"Code incorrect";RECHERCHEV(C17;xDonne;2;0)))
S'il y a une fonction que tu ne connais pas comme ESTNA tu as le droit de regarder l'aide excel...

eric
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
7 déc. 2008 à 18:10
Rere
3 : en revanche là oui. mon test se base uniquement sur la recherchev je n'ai pas le droit d'utiliser une autre formule mais je sais que cela est possible de le faire puisque notre prof nous a dit qu'il n'avait que utiliser la recherchev

Moi, je ne demande pas mieux, mais il faudrait que tu me dises ce que tu veux exactement d'une part et d'autre part si ce que je propose avec le= (SI(ESTNA(RECHERCHEV(......... te convient?
Ce que j'ai compris de tes formules:

Tu as un champ nommé xDonne
Tu cherches donc à savoir si , dans la première colonne de ce champ; il existe une valeur égale à C17
S'il n'y en a pas, tu renvoies, "Code incorrect"
S'il y en a une, tu renvois la valeur de la deuxième colonne correspondante à la ligne où se trouve la valeur de C17
Si ce n'est pas cela, il faut complèrer tes explications, car la formule que j'indique après ce point 3 devrait marcher!
La question subsidiaire indispensable est: à quelles limites correspond le champ xDonne et qu' y a t il comme info dedans
Crdlmnt
0