Double liste déroulante avec choix en cascade (indirect)

rendan2

XLDnaute Nouveau
Bonsoir,

Je souhaiterai créer une liste en cascade, de sorte que le choix de la seconde liste dépende de celui de la première liste.

J'ai crée une liste "commune" à partir des données de la colonne B et une liste "code" (faisant référence au code postal associé à la commune) a partir des données de la colonne C. Seulement, il arrive que pour la même commune plusieurs codes postaux soient possibles.

Aussi, je souhaiterai que lorsque je selectionne par exemple dans la liste commune "Apremont" en cellule A2, seules les codes postaux 1100/8250/60300/70100/7319085220 soient listés en B2.

Vous trouverez en pièce jointe le fichier en exemple:
Dans la feuille 'Test' en cellule B2, lorsque je fais validation de données /Options /Liste /Source/=indirect(A2) j'ai systématiquement le message d'erreur suivant :"La source est reconnue comme érronée. Voulez-vous continuer?"

J'ai beau chercher, je ne vois vraiment pas ce qui cloche.

Merci d'avance pour votre aide et bon weekend à tous.
 

Tibo

XLDnaute Barbatruc
Re : Double liste déroulante avec choix en cascade (indirect)

Bonjour,

Pour faire ce que tu souhaites, il faut que ta liste de Villes soit triée.

Je te propose ensuite de définir ta liste déroulante à l'aide de la fonction DECALER, à utiliser dans une formule nommée (car les données sont situées sur une autre feuille).

Dans ton exemple, après avoir trié la liste sur les noms, se placer en B2 (Onglet Test), puis :
Gestionnaire de noms - Nouveau - Nom : Liste_codes - Fait référence à :

Code:
=DECALER(Liste!$B$2;EQUIV(Test!$A2;Commune;0);1;NB.SI(Commune;Test!$A2))

Ensuite, toujours en B2 (Onglet Test) :

Données - Liste de validation - Liste de validation - Autoriser : Liste - Source : Liste_codes

Le principe : Une liste déroulante correspond à une série de cellules contigües.

@+
 
Dernière édition:

rendan2

XLDnaute Nouveau
Re : Double liste déroulante avec choix en cascade (indirect)

Bonjour,

Merci beaucoup d'avoir pris le temps de te pencher sur mon problème.
Par contre je ne suis pas certain d'avoir compris ce que tu proposes comme solution.
J'avais bien trié la colonne "commune" après lui avoir donné un nom, ceci également pour la liste des codes.

Lorque je fais ce que tu proposes, j'arrive en effet a obtenir 2 listes déroulantes, mais qui n'ont pas vraiment de relation l'une entre l'autre.
Pour reprendre mon exemple, lorsque je selectionne "APREMONT" dans la première liste, il me donne tous les codes postaux au lieu de me proposer uniquement les codes postaux suivants : 1100/8250/60300/70100/7319085220

Pour l'avoir déjà fait, j'étais persuadé qu'il suffisait d'utiliser la fonction indirect dans une liste pour arriver au résultat souhaité. Seul le message d'erreur me pose un problème...

Je te renvois par la même occasion le fichier dans lequel j'ai essayé de suivre ta méthode...si tu peux carrément faire le test comme tu l'a expliqué et me le renvoyer cela m'arrangerai bien ;-))

Encore merci pour ton aide.
 

JCGL

XLDnaute Barbatruc
Re : Double liste déroulante avec choix en cascade (indirect)

Bonjour à tous,

Tu n'as pas respecté la formule préconisée par l'ami Tibo pour le Nom Défini Liste_Code :
Code:
=DECALER(Liste!$B$2;EQUIV(Test!$A2;Commune;0);1;NB.SI(Commune;Test!$A2))

A+ à tous
 
Dernière édition:

frangy

XLDnaute Occasionnel
Re : Double liste déroulante avec choix en cascade (indirect)

Bonjour,

Pour autant que je sache il ya une contrainte de 32.767 éléments maxi pour l'affichage d'une la liste de validation.
C'est un peu juste dans ton cas pour une liste de 36.761 communes (34.218 sans doublon).

A+
 

JCGL

XLDnaute Barbatruc
Re : Double liste déroulante avec choix en cascade (indirect)

Bonjour à tous,

Les limites XL n'y sont pour rien... A mon avis.
Voir le fichier joint avec les préconisations de Tibo.

A + à tous
 

Pièces jointes

  • JC Tibo Liste Validation.xlsx
    963.2 KB · Affichages: 684

rendan2

XLDnaute Nouveau
Re : Double liste déroulante avec choix en cascade (indirect)

A JCGL,

Si tu peux me dire en quoi je n'ai pas respecté la formule de Tibo ca m'arrangerai, car il me semble l'avoir entièrement recopié comme préconisé.
Comme je le disais, je ne comprends pas vraiment la démarche à suivre, donc si tu sais exactement ce qu'il faut faire, n'hesites pas à le faire sur le fichier que j'ai joint à mes messages précédents (classeur3.xls) et à le partager.

Merci d'avance.
 

JCGL

XLDnaute Barbatruc
Re : Double liste déroulante avec choix en cascade (indirect)

Bonjour à tous,

Ton Nom Défini ne respectait la formule donnée par Tibo. Tu as :

Capture_1.png

Tu devrais avoir (comme dans mon fichier joint) :

Capture_2.png

A + à tous
 

Pièces jointes

  • Capture_1.png
    Capture_1.png
    9.4 KB · Affichages: 406
  • Capture_1.png
    Capture_1.png
    9.4 KB · Affichages: 394
  • Capture_2.png
    Capture_2.png
    10.1 KB · Affichages: 364
  • Capture_2.png
    Capture_2.png
    10.1 KB · Affichages: 364

rendan2

XLDnaute Nouveau
Re : Double liste déroulante avec choix en cascade (indirect)

A JCJL,

Tu as devancé mon message.
Merci d'avoir pris le temps de regarder mon problème. Le résultat correspond exactement à ce que j'attendais, donc c'est super.
Je n'avais tout simplement pas compris la méthode proposée par Tibo, aussi je vais regarder tout cela à tête reposée.
Encore merci à toi et Tibo.
Bonne soirée
 

frangy

XLDnaute Occasionnel
Re : Double liste déroulante avec choix en cascade (indirect)

Bonjour à tous,

Les limites XL n'y sont pour rien... A mon avis.
Voir le fichier joint avec les préconisations de Tibo.

A + à tous

J'ai voulu indiquer que la solution ne répondra pas à l'attente de rendan2 puisqu'il ne pourra pas afficher l'intégralité de ses 36.763 communes dans la liste de validation.
Si tu regardes la liste, tu remarqueras que la dernière ville proposée est CRITOT qui correspond à la ligne 32.769.
Amicalement.
 

Tibo

XLDnaute Barbatruc
Re : Double liste déroulante avec choix en cascade (indirect)

Bonjour Frangy,

D'accord avec toi sur la limite des 32767 lignes pour une liste déroulante. Mais sur une base d'une telle longueur, une liste déroulante est-elle vraiment souhaitable ?

Ce que notre ami souhaitait, c'était d'avoir une liste déroulante des codes postaux pour une ville dont le nom est présent plusieurs fois. Et dans le fichier joint, quelques villes sont présentes 12 fois (pas plus), St Sauveur par exemple.

Bon dimanche

@+
 

frangy

XLDnaute Occasionnel
Re : Double liste déroulante avec choix en cascade (indirect)

Bonjour Tibo,

J’ai interprété sa demande différemment : pouvoir sélectionner une quelconque commune dans une première liste et lui associer tous les codes postaux qui lui sont propres dans une seconde liste.
Quoi qu’il en soit, je suis entièrement d’accord avec toi pour dire qu’une liste déroulante de plus de 30.000 éléments n’est sûrement pas le meilleur outil pour cette recherche.

Bon dimanche également.
A+
 

Tibo

XLDnaute Barbatruc
Re : Double liste déroulante avec choix en cascade (indirect)

re,

Dans ce cas, on peut traiter les villes avec une liste déroulante intuitive (liste des communes commençant par ...). Toujours bien évidemment avec une liste des communes triée.

Avec cette formule nommée (Liste_Communes par exemple)

Fait référence à :

Code:
=DECALER(Liste!$B$2;EQUIV(Test!$A2&"*";Commune;0);;NB.SI(Commune;Test!$A2&"*"))

et à inclure dans la validation.

On saisit les 2 ou 3 premières lettres et on active la liste déroulante.

@+
 

Discussions similaires