Afficher un résultat en fonction d'un choix dans une liste déroulante
Bonjour..
Je cherche la formule qui me permet d'afficher un mot en fonction du choix d'une liste déroulante..
En clair, dans la colonne A (les données) une liste de fruits et de légumes.
Colonne B la liste déroulante qui me permet de choisir un des fruits ou des légumes.
Et dans la colonne C j'aimerais afficher si la cellule de la colonne B est un fruit ou un légume.
J'ai essayé les fonctions "S", NB.SI", mais je sèche lamentablement..
Merci d'avance pour celle ou celui qui pourra m'aider..
Bonjour,
Il faut indiquer au tableur quelque part quelle est la distinction entre les fruits et les légumes. Pour cela vous pouvez faire 2 listes/tableaux : 1 liste de fruits et une liste de légumes. On peut etre malin et ne faire qu'une liste en réalité : celle des fruits, et tout ce qui n'est pas un fruit est donc un légume.
Ensuite on va utiliser les fonctions EQUIV pour chercher dans la liste notre valeur, EST.ERREUR pour vérifier qu'on a trouvé la valeur dans la liste ou non, et SI pour, à partir de ce résultat, afficher "fruit" ou "légume".
Les aides pour les fonctions en question :
EQUIV: Fonctions de classeur
EST.ERREUR : Fonctions d'informations
On peut donc écrire la formule suivante en D3, avec la liste des fruits en F4:F12
=SI(ESTERREUR(EQUIV(C3;$F$4:$F$12;0));"Légume";"Fruit")Ci-joint votre fichier, mais je l'ai modifié sur Excel donc je ne garantis pas la compatibilité.
Je vous remercie pour votre aide et votre réactivité..
Je vais maintenant, pour commencer, essayer de comprendre le raisonnement de ces fonctions, puis transposer cette formule en l'adaptant à mon besoin. Les données sont sur une autre feuille (du même classeur) mais cela ne devrait pas être un problème.
Par ailleurs, mon projet devra servir à un autre utilisateur que moi, du coup il serait pratique de ne rien afficher si la cellule de la liste déroulante est encore vide. Sans vouloir abuser, je peux vous resolliciter ?
En tous cas, encore merci, et si je ne m’en sors pas, puis refaire appel à vous..?
Bien cordialement..
Bonjour,
Oui bien sûr, on peut utiliser la fonction ESTVIDE qui répond plutôt bien au besoin : Fonctions d'informations
Ainsi il suffit d'effectuer un 2e test qui va "englober" notre formule précédente, en vérifiant si la cellule de référence est vide ou non :
On peut utiliser 2 SI imbriqués :
=SI(ESTVIDE(C3);""; SI(ESTERREUR(EQUIV(C3;$F$4:$F$12;0));"Légume";"Fruit"))Ou bien, en faisant de la logique, on remarque que notre résultat suit le processus suivant :
- Cellule vide > on n'affiche rien ("")
- SINON SI cellule contient un légume > on affiche "légume"
- SINON > on affiche "fruit"
L'ordre des conditions est TRÈS IMPORTANT, voyez comme on procède "à l'envers" du language courant. On s'occupe d'abord des cas les plus particuliers, pour s'ouvrir vers le cas général, qui correspond au "par défaut".
Cela peut se transcrire avec la function SI.MULTIPLE, fonction qui est plus compacte.
=SI.MULTIPLE(ESTVIDE(C3); ""; ESTERREUR(EQUIV(C3;$F$4:$F$12;0));"Légume"; "Fruit")Bon dans l'exemple ça ne change pas grand chose, mais dans des cas plus complexes, ça peut vraiment rendre la formule plus lisible.
Bonne journée
Bonjour..
Encore une fois merci pour votre aide. J'ai transposé tout ça dans mon projet e, même si j'ai galéré un peu, tout ça fonctionne parfaitement.
Je voulais rajouter des couleurs (rouge pour "Légumes" et bleu pour "Fruits). J'ai épluché à peu prés tout ce que j'ai pu trouver sur internet concernant le format conditionnel, mais rien n'y fait. Entre les styles et les formats, je patauge un peu.
Alors si je peux encore une fois vous solliciter, ou s'il existe un sujet (clair) quelque part, je suis preneur..
Amicalement..
Bonjour,
D'après la doc c'est assez différent entre Office CALC et Excel. En ce moment je n'ai que Excel sous la main donc je ne peux pas tester.
La doc qui correspondrait est ici Assignation de formats par une formule mais bon j'imagine que vous l'aviez déjà trouvée.
Donc d'après l'aide, la formule complète du style, pour :
Appliquer le style "rien" aux cellules vides, appliquer le style "rouge" aux légumes, et appliquer le style "vert" aux fruits.
Serait :
=&+STYLE(SI(ESTVIDE(ACTUELLE());"Rien"; SI(ESTERREUR(EQUIV(ACTUELLE();$F$4:$F$12;0));"Rouge";"Vert")))Mais vous devez d'abord avoir créé ces 3 styles, et ça je ne sais pas comment ça marche.
Pour info, les conditions suivantes renvoient VRAI dans les cas suivants :
La cellule actuelle contient un légume :
ET(NON(ESTVIDE(ACTUELLE())); ESTERREUR(EQUIV(ACTUELLE();$F$4:$F$12;0)))
La cellule actuelle contient un fruit :
ET(NON(ESTVIDE(ACTUELLE())); NON(ESTERREUR(EQUIV(ACTUELLE();$F$4:$F$12;0))))
Bon courage.
De mon côté, j'ai continué à essayer différentes façons de procéder et j'ai fini par trouver..
Dans le formatage conditionnel, lorsqu'on indique dans "condition" puis "égal à" qu'un mot (par ex. fruit) doit être écrit en rouge, il faut mettre des guillemets lors de la saisie. Nulle part je n'ai trouvé cette explication..
En tous cas, merci pour l'ensemble de votre aide..
Je vais cocher cette rubrique afin de la clôturer..
Amicalement..
Ah oui dans excel aussi c'est comme ça, autrement le programme essaye d'interpréter le texte "fruit" comme une fonction.
Vous le saurez pour la prochaine fois ;)