Liste déroulante en cascade avec descriptions pour les utilisateurs

Bonjour.

Je souhaite faire des listes déroulantes en cascades (jusque là : pas de problème) voir fichier joint

Le probleme réside dans le fait que mes utilisateurs devront sélectionner des codes dans les listes déroulantes. Pour éviter que les utilisateurs se référent à une table de correspondance et/ou qu'ils retiennent par coeur que le code FR2 c'est Rouen...
J'aimerai avoir une petite aide à la selection...

Dans la liste déroulante, avoir les codes avec leur description
Mais quand on sélectionne, ça n'affiche QUE le code
Exemple
Liste déroulante :
EU_Europe
AM_Amérique
AS_Asie

si on sélectionne EU_Europe
Ca n'affiche que "EU" dans la cellule

Tout ce que j'ai réussi à faire c'est dédoubler les colonnes et de faire une déconcaténisation avec "_" comme séparateur mais c'est vraiment pas pratique.
Si qqn à une autre idée je suis preneur... (peut être que je suis partie dans la mauvaise direction avec mes "_" )

Merci d'avance pour prendre le temps d'étudier mon probléme :)
Cordialement

(NB : j'ai simplifié le tableau avec des données anonymisé mais il y a bcp plus de code et de colonne dans sa version finale)
(NB2 : pas de vba svp !)

29poc3pour-envoi.xlsx (16.83 Ko)

Bonjour,

Je comprends l'utilité des codes pour le traitement automatique derrière, mais pour vos utilisateurs, si la saisie avec les codes n'est pas claire, pourquoi ne pas partir dans l'autre sens tout simplement ?

Vous leur faites saisir "Amérique" ou "Europe", et ensuite vous retrouvez dans une autre colonne le code correspondant avec RECHERCHEX sur une table de correspondances.

Vous avez ainsi le code "utile" d'un côté et une saisie "user friendly" de l'autre.

Pour faire exactement ce que vous demandez il faudrait passer par des VBA assez intrusifs (qui modifient littéralement ce que la personne vient de saisie, assez perturbant selon moi), personnellement je ne vois pas du tout l'intérêt.

Hello,

Dans un premier temps, pour gérer ce type de cas, faire une plage nommée pour les continents, les pays et les villes ce n'est pas optimal.

Il suffit juste de faire un tableau de correspondance trié et le tour est joué avec 3 listes déroulantes qui s'adaptent automatiquement.

Mon deuxième point est : les utilisateurs n'ont pas besoin de voir les codes du tout. Ils feront leur sélection de continent, pays et ville et derrière tu iras chercher directement les codes correspondants mais ce sera invisible pour l'utilisateur.

Egalement je rajouterai juste un évènement VBA pour le cas suivant : si tu sélectionnes Brest mais qu'au final on change de continent il faudrait que ce que tu as sélectionné en pays et ville soit automatiquement vidé.

N'hésite pas si besoin je t'ai mis un exemple dans les cellules jaunes. (Pré requis, une table triée)

@+

27poc3pour-envoi.xlsx (20.89 Ko)

Edit : Hello saboh

Bonjour

j'arrive quelques minutes après avec une proposition similaire

la dernière version des listes déroulantes (sans doublon et avec filtre automatique sur ce que l'utilisateur tape est très pratique)

Notez l'utilisation d'une fonction LAMBDA pour ne pas mettre en dur l'adresse dans la plage nommée avec le DECALER

=LAMBDA(x;DECALER(Paramètres[[#En-têtes];[Pays]];EQUIV(x;Paramètres[Continent];0);;NB.SI(Paramètres[Continent];x)))

et JOINDRE.TEXTE plutôt que CONCAT

capture d ecran 2025 11 10 101043

Stéphane

Bonjour et merci pour vos trois retours :)

J'entends vos remarques sur le coté user friendly.
Peut etre que l'anonymisation de mon probléme avec des capitales n'était pas la meilleure solution car elle 'nest pas tout à fait représentative de mon probleme...

Dans un cas comme celui des villes évidemment qu'on pourrait dire "Selectionne la ville je te dirais le code correspondant" mais dans mon cas réel : ca ne marcherait pas

En effet j'ai VRAIMENT besoin (pour des raisons spécifiques à mon besoin) d'avoir les deux.

Mais votre conclusion rejoint celle que je soupçonnais : pas possible sans VBA

Je vais réfléchir à ce qu'on peut faire dans ce cas...

En tout cas merci pour cette façon de présenter la "base de donnée" je connaissais pas et ca va me simplifier la vie sur d'autres problémes.... :D

Re-Bonjour

j'ai la même problématique dans un de mes fichiers. Je souhaite en effet que les utilisateurs puissent choisir une "Imputation" par code ou par nom. La liste déroulante contient donc les 2 informations (et même des infos complémentaires). J'autorise même à ne saisir que le code (via copié/collé en valeur d'un autre fichier)

Ensuite, dans mon tableau j'ai une colonne "Imputation retenue" masquée avec une formule TEXTE.AVANT pour récupérer uniquement le code.

C'est plus simple que d'avoir du VBA

Stéphane

Bonjour à tous

Une méthode par formules nommées et un tableau unique

Une saisie en 2 fois : une 1ère liste donne les continents ou les pays ou les villes en clair, le second déroulement donne le code.

Tant qu'on n'a pas un code de 2 caractères on ne peut avoir la liste suivante et si le code ville n'a pas 3 caractères, la concaténation n'est pas faite.

Si plus de 9 villes dans un pays il faudra compliquer un peu le test pour cette limite sur la ville...

Rechercher des sujets similaires à "liste deroulante cascade descriptions utilisateurs"