Renvoyer des codes d’article au lieu de noms d’articles (Microsoft Excel)
Alan peut utiliser la validation des données pour créer une liste déroulante de choix valides pour une cellule. Cependant, ce dont il a réellement besoin est plus complexe. Il a un grand nombre de noms d’articles avec des codes d’article associés. Dans la cellule B2, il peut créer une liste de validation des données qui montre tous les noms d’articles (agitateur, moteur, pompe, réservoir, etc.). L’utilisateur peut alors choisir l’un d’entre eux. Cependant, lorsqu’il fait référence à la cellule B2 ailleurs, il souhaite que le code de l’article – pas le nom de l’article – soit renvoyé par la référence. Ainsi, la référence renverrait A, M, P, TK, etc. au lieu de l’agitateur, du moteur, de la pompe, du réservoir, etc.
Il n’existe aucun moyen direct de le faire dans Excel. La raison en est que les listes de validation des données sont configurées pour n’inclure qu’une liste unidimensionnelle d’éléments. Cela permet à la liste de contenir facilement les noms de vos éléments.
Cependant, vous pouvez développer un peu la façon dont vous utilisez la liste de validation des données pour obtenir ce que vous voulez. Suivez ces étapes:
-
Quelque part à droite des données de votre feuille de calcul, configurez une table de données.
Ce tableau contiendra vos noms d’article et, à droite de chaque nom d’article, le code article associé à ce nom.
-
Sélectionnez les cellules contenant les noms de vos éléments. (Ne sélectionnez pas les codes d’article, juste les noms.)
-
Affichez l’onglet Formules du ruban.
-
Cliquez sur l’outil Définir un nom dans le groupe Noms définis. Excel affiche la boîte de dialogue Nouveau nom. (Voir la figure 1.)
-
Dans la zone Nom, entrez un nom descriptif, tel que ItemNames. . Cliquez sur OK pour ajouter le nom et fermer la boîte de dialogue.
-
Sélectionnez la cellule B2 (la cellule dans laquelle vous voulez votre liste de validation).
-
Affichez l’onglet Données du ruban.
-
Cliquez sur l’outil de validation des données dans le groupe Outils de données. Excel affiche la boîte de dialogue Validation des données. (Voir la figure 2.)
-
À l’aide de la liste déroulante Autoriser, choisissez Liste.
-
Dans la zone Source, entrez un signe égal suivi du nom que vous avez défini à l’étape 5 (tel que = ItemNames).
-
Cliquez sur OK.
Une fois ces étapes effectuées, les utilisateurs peuvent toujours utiliser la liste déroulante de validation des données pour sélectionner des noms d’élément valides. Ce que vous devez maintenant faire est de référencer le code article de la table de données que vous avez configurée à l’étape 1. Vous pouvez le faire avec une formule telle que celle-ci:
=VLOOKUP(B2,OFFSET(Itemlist,0,0,,2),2,FALSE)
Cette formule peut être utilisée seule (pour mettre le code d’article souhaité dans une cellule) ou elle peut être utilisée dans une formule plus grande, n’importe où où vous auriez initialement référencé B2.
Si, pour une raison quelconque, vous ne pouvez pas créer une table de données pour les noms et codes de vos éléments, vous pouvez aborder le problème en créant une formule matricielle:
=INDEX({"A","M","P","TK"},MATCH(B2,{"agitator","motor","pump","tank"},0))
Comme pour toutes les formules matricielles, vous entrez celle-ci en appuyant sur Ctrl + Maj + Entrée. Le plus gros inconvénient est qu’il peut rapidement devenir difficile de maintenir la formule à jour et qu’il existe une «limite de viabilité» sur le nombre de paires de codes et d’éléments que vous pouvez inclure dans la formule. (La limite est définie par la longueur de la formule, elle dépend donc de la longueur de vos noms d’élément.) En outre, cette approche est bonne pour ne renvoyer le code d’élément que dans une autre cellule, plutôt que de l’inclure dans une formule plus large.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (12078) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.
Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:
link: / excel-Returning_Item_Codes_Instead_of_Item_Names [Renvoyer des codes d’article au lieu de noms d’article]
.