Liste déroulante de noms mais sélectionnant des valeurs [Résolu/Fermé]

Signaler
-
 goodwin -
Bonjour,

Je souhaiterais obtenir une liste déroulante de noms qui attribuerait une valeur pour le nom sélectionné.

Pour faire simple, je veux que ma liste déroulante contienne des nom (ex: outil) et qu'une fois sélectionné cela affiche une valeur associée au lieu d'afficher le mot "outil".

-> La liste fait apparait le mot "outil"
-> en sélectionnant "outil" la case affiche 25896.

J'espère que je suis assez clair, merci d'avance.

5 réponses

Messages postés
17380
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 juin 2021
4 648
Salut,

Je n'ai pas regardé de code, mais je pense qu'en VBA on doit pouvoir le faire sans problème, le risque est que lorsque tu clic sur un mot, par erreur tu clic sur le mot du dessous et tu obtiens un affichage erroné.
je te proposerais deux solutions par formule, tu as certainement une base de données avec les mots et la somme ou la valeur sur la colonne à coté.
je conserverais la liste déroulante avec les mots et dans une autre cellule j'utiliserai une RECHERCHEV

Deuxième solution, dans la liste déroulante je ferai apparaitre l'affichage des deux colonnes, le mot et la valeur
reste plus qu'cliquer sur la valeur.

en ajoutant un peu de VBA il est possible d'imposer à Excel d'afficher que la valeur mais bon c'est se compliquer pour pas grand chose
Messages postés
54119
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
22 juin 2021
16 110
Merci de vos réponses,

Effectivement faire du VBA pour ca c'est se compliquer la tache, surtout que ce qui m'intéresse c'est de ne pas afficher le nom sur mon bon de commande mais que la référence associée.
Je vais simplifier la chose en choisissant ta solution 1 et en mettant la liste déroulante hors zone d'impression.

Pour finir, comme je n'aime pas appliquer bêtement sans comprendre, pouvez-vous m'expliquer la formule suivante :

=SI($B:$B="";"";RECHERCHEV($B:$B;MaBase;2;0))
Messages postés
26078
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
22 juin 2021
5 963
Bonjour
la formule:
_ prend en compte la valeur de B sur la ligne où se trouve la formule
_ cherche sur quelle ligne se trouve cette valeur dans la 1° colonne du champ Mabase
_ renvoie la valeur de la deuxième colonne du champ Mabase sur la ligne trouvée
_ le 0 final est un code Excel qui impose à la formule de ne trouver que la valeur exacte.

Sans ce code, il faut que les données de Mabase soit classées par ordre croissant dans la 1° colonne, (alpha ou num) et la formule renvoie alors la valeur inférieure la plus proche (mais ne renvoie que des sottises si la colonne 1 n'est pas classée.

crdlmnt
Un grand merci à vous.