Listes déroulantes si

Résolu/Fermé
Martin - 5 avril 2012 à 17:24
 Martin - 11 avril 2012 à 16:41
Bonjour,

j'aimerais créer des listes déroulantes conditionnelles avec le texte dans une cellule. Par exemple, j'ai une liste d'éuipements différentes pour certains projets. J'aimerais que si le nom du projet écrit dans la case A1 commence par "AB" liste déroulante proposée dans la plage B1:B5 soit prédéterminée. Si A1 commence par "BC" une autre liste soit proposée, toujours dans la plage B1:B5.

Est-ce possible ?

Je crois que la formule implique un =gauche(

Merci,

13 réponses

Lentzouille2 Messages postés 806 Date d'inscription samedi 22 octobre 2011 Statut Membre Dernière intervention 13 janvier 2020 39
5 avril 2012 à 17:39
Bonjour,

Tu as juste AB & BC ?

Cdt,
0
Non j'ai 4 types différents, pour l'exemple disons AB BC CD et DE

Merci de m'aider :)
0
Lentzouille2 Messages postés 806 Date d'inscription samedi 22 octobre 2011 Statut Membre Dernière intervention 13 janvier 2020 39
5 avril 2012 à 17:47
mais pourquoi tu veux une liste déroulante en B1, B2, B3, B4 et B5 ?
0
je veux la meme liste déroulante en B1, B2, B3, B4 ET B5. mais qu'elle change dépendemment de ce qui est écrit dans ma case A1
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
Modifié par Vaucluse le 5/04/2012 à 21:11
Bonsoir
alors nommé chacune e vos listes de référence
avec ce que vous placez dans la cellule du 1° niveau, soit AB BC CD EF u autre
et dans la cellule du 2° niveau, placer la validation par liste avec:
=INDIRECT(adresse 1° cellule)

on peut aussi utiliser la formule DECALER à la place des noms, mais là il faut savoir comment sont placés vos références et à quoi elles ressemblent

Si par exemple (à adapter) vos références sont dans une seule colonne de A2à A100 et que vous voulez créer une liste avec les deux premières lettres, vous pouvez utiliser directement dans la cellule 2:
=DECALER(A1;EQUIV(cell1&"*";$A$2:$A$100;0);;NB.SI($A$2:$A$100;cell1&"*"))
mais l'utilisation directe d'une formule nécessite que la liste de référence et les cellules d'édition soit sur la même feuille.

Sinon 3° version valable sur des feuilles différentes :
utilisez la formule ci dessus dans la définition du nom de la liste 2 (pour ex LISTE_2)
et utilisez ce nom en cell 2 pour la validation:
=LISTE_2

crdlmnt:



crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
0
Raymond PENTIER Messages postés 58745 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 3 décembre 2024 17 248
Modifié par Raymond PENTIER le 6/04/2012 à 15:11
0

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

Posez votre question
Malheureusement, je n'ai toujours pas répondu à mes questions, alors je vous envoi mon fichier, ca sera plus clair !

Merci :)

http://cjoint.com/?BDkpsgjgKJM
0
Lentzouille2 Messages postés 806 Date d'inscription samedi 22 octobre 2011 Statut Membre Dernière intervention 13 janvier 2020 39
10 avril 2012 à 15:44
Bonjour,

Alors tu renommes chaque liste de fonction par son titre (AB, BC, CD, etc ...)
il faut que ça soit la même chose que écris dans la cellule F2

En D5 tu vas dans données, validation de données, liste et dans source tu met =indirect($F$2)

Et le tour est joué ;)

Bonne chance
0
Raymond PENTIER Messages postés 58745 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 3 décembre 2024 17 248
10 avril 2012 à 19:07
... ce qui donne, avec un petit complément pour "autres", https://www.cjoint.com/?BDktgLCrqgS
0
Le problème est que je dois entrer des nom de projet qui commencent par AB mais qui contiennent pas seulement AB (Ex. AB1234). La liste n'apparait pas en D5:D9 si j'écris autre chose que seulement AB...

Puisque j'aurai plusieurs projets qui commenceront par AB suivi de nombres diférents, je voulais que la liste prenne seulement en compte les deux premiers caractères de la cellule F2...
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
10 avril 2012 à 19:08
Bonsoir
nommer vos listes AB AC AD etc...
en D5:D9
validation de données:
=INDIRECT(GAUCHE(F3;2))
devrait faire l'affaire
crdlmnt
0
Lentzouille2 Messages postés 806 Date d'inscription samedi 22 octobre 2011 Statut Membre Dernière intervention 13 janvier 2020 39
11 avril 2012 à 09:03
ou alors écrire tes projet en F3 et en F2 mettre la formule =gauche(F3;2)
0
Bonjour,

Tout d'abord merci pour vos conseils. Tout marche pour ces listes, mais j'ai un autre problème. Lorsque j'entre un projet qui commence par AB, BC ou CD les listes souhaitées s'affichent en LDC. Le problème vient lorsque j'entre un projet qui commence par autre chose que AB, BC ou CD, aucune liste ne s'affiche.

J'aimerais avoir une liste qui s'affiche pour tout ce qui est les projets autres que AB, BC ou CD...

Merci encore :)
0
Je suis en train de travailler sur une formule du genre :

=Si(ou(INDIRECT(GAUCHE($D$2;2))="AB";Indirect(gauche($D$2;2))="BC";Indirect(gauche($D$2;2))="CD");"Autre")

Les noms se référant à des noms de plage ou se trouvent mes LDC...
Suis-je sur la bonne piste ?
0
Lentzouille2 Messages postés 806 Date d'inscription samedi 22 octobre 2011 Statut Membre Dernière intervention 13 janvier 2020 39
11 avril 2012 à 15:55
Voilà qui devrait répondre à tes besoins,

https://www.cjoint.com/?BDlp3jCmwtZ

Cdt
0
Presque,

en fait la liste autre apparait seulement si F3="", alors que je voudrais qu'elle apparaisse si F3 <> gauche "ab", "bc" ou "cd"

4 validations: ab, bc, cd ou n'importe quoi d'autre.
0
J'ai remplacé la formule dans la validation de données par :

=SI(OU($F$2<>"ab";$F$2<>"bc";$F$2<>"cd");$K$5:$K$9;INDIRECT($F$2))

Mais cela ne fonctionne toujours pas :(
0
Raymond PENTIER Messages postés 58745 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 3 décembre 2024 17 248
11 avril 2012 à 16:26
Bonjour à tous.

J'ai fourni la solution depuis hier à 19:07
https://forums.commentcamarche.net/forum/affich-24869439-listes-deroulantes-si#10
0
Wow, merci beaucoup
j'ai manqué votre post.

Bonne journée :)
0