Listes déroulantes en fontion des premières listes

Bonjour,

Voici mon soucis, j'ai un tableau de 3 colonnes (pays, banque, BIC), je souhaite m'en servir pour faire des listes déroulante. Dans ma colonne tableau j'ai plusieurs fois les mêmes pays qui reviennent, je souhaite qu'il m'en affiche un seul de chaque dans ma liste déroulante (pas de doublons), dans la seconde liste je veux qu'il m'affiche les banques en fonction du choix de ma 1ère liste (je veux également ne pas avoir de doublons dans cette seconde liste). Et enfin dans ma 3 ème liste je souhaite qu'il m'affiche les BIC en fonction de ma 2nde liste.

Je vous mets un extrait du fichier. J'ai beau chercher mais je ne trouve pas de solutions.

Merci d'avance pour votre aide

Bonsoir,

Le sujet que tu abordes est communément appelé "listes en cascade". Une recherche sur ces mots-clés aurait dû ramener des résultats en pagaille.

Le problème (et en même temps, c'est plutôt intéressant et enrichissant) c'est qu'il y a de nombreuses solutions: pour supprimer les doublons, il y a une fonctionnalité au nom évocateur dans l'onglet Données (depuis Excel 2007). Comme la liste des pays ne variera pas beaucoup dans le temps, elle te serait sans doute déjà utile.

On peut aussi dresser une liste sans doublons par formules; si on accepte d'utiliser une colonne supplémentaire, il y a une solution relativement abordable.

Sans cette colonne supplémentaire, il y a la solution des formules matricielles (un chouïa plus ardues à appréhender )

Enfin, il y a les macros avec des usages différents possible (créer une liste sans doublons dans une plage de cellules ou directement pour "garnir" la liste déroulante).

Tu as donc le choix

Le premier souci est qu'on ne sait pas où est ta liste déroulante, ni comment tu comptes la créer ... Le problème (et en même temps, c'est plutôt intéressant et enrichissant) c'est qu'il y a de nombreuses solutions ... oui, ici aussi

supprimer des doublons je sais le faire mais le probleme c'est que lorsque je sélectionne un pays, dans la liste suivante je veux voir apparaître les banques correspondant à ce pays et les BIC proposés doivent être ceux qui sont en lien avec les banques.

J'ai bien trouvé les listes déroulante en cascade mais par sur 3 filtres

Pour l'endroit de la liste déroulante ce sera sur un autre onglet mais ca je ne l'ai pas précisé car ce n'est pas le plus important (en tout cas à mes yeux)

Salut tBen, U.Milité,

ton fichier serait déjà terminé si cette satanée ListBox voulait bien se remplir une deuxième fois après le premier choix du pays!

Je deviens enragé à ne pas comprendre le problème alors que les MsgBox-p!èges que je place par-ci, par-là me renseignent que les valeurs attendues sont bien au rendez-vous.

Si je ne trouve pas dans l'heure, je t'envoie ce que j'ai déjà réalisé! Peut-être auras-tu l'idée lumineuse qui me manque!

A+

J'ai considéré que tu créais tes listes déroulantes à l'aide des validations de données.

J'ai considéré aussi que tu n'aurais rien contre une solution par macro

En pièce jointe, donc, un essai:

Les listes déroulantes sont alimentées pas 2 plages nommées respectivement ListePays et ListeBanques. Ces deux plages sont "dynamiques" (voir Formules > Gestionnaire de noms)

La liste des pays (colonne G) se met à jour quand on double-clique sur le titre de la colonne (G1)

La liste des banques quant à elle s'actualise quand on choisit un pays en B2

... Tu verras bien

[Edit] salut curulis57 ... une ListBox satanique À qui se fier, je vous demande un peu (bon courage!)

je suis contre rien du moment que ça fonctionne

j'ai testé ton fichier mais ce qui me dérange c'est d'être obligé de double cliquer sur le pays pour que liste s'affiche et que je puisse ensuite avoir ma liste déroulante.

par contre je suis incapable de faire ce que tu as fait pour la 3 liste des bic.

En tout cas merci pour ton aide

tben08 a écrit :

être obligé de double cliquer sur le pays pour que liste

Le double-clic n'est à faire que sur le titre de la colonne G et il ne faudra le faire que lorsque la liste des pays devra être actualisée. Ce ne devrait être le cas que de loin en loin, non?

Prends le temps de tester et de voir si le système te conviendrait. Dans un second temps, viendront les explications ... avec sans doute un exercice pratique pour toi ... puisqu'il faut encore trouver le BIC correspondant.

En attendant, curulis57 aura sans doute déposé sa proposition (et d'autres peut-être encore) ... et tu auras le choix.

Moi, d'ici là, j'aurai pris une bonne nuit de sommeil

ok mais si tu ne double clique pas sur le titre les listes déroulante ne fonctionne pas?

sinon le reste fonctionne très bien.

tben08 a écrit :

ok mais si tu ne double clique pas sur le titre les listes déroulante ne fonctionne pas?

La toute première fois il faut double-cliquer en G1 ... une fois que la liste des pays est affichée en colonne G, tu ne dois plus le faire ... tant que tu n'auras pas ajouté des lignes avec de nouveaux pays en Feuil1

Maintenant, si cette liste est mise à jour avec de nouveaux pays 3 fois par jour, on peut faire la même chose sans double-clic (simplement, quand la feuille est activée, par exemple)

Attends de voir les autres propositions ...

Bonjour à tous

Un essai à tester.

Bye !

gmb a écrit :

Bonjour à tous

Un essai à tester.

Bye !

Alors ça fonctionne très bien merci mais ce n'est pas ce que je recherche. Je souhaite que ma liste soit intégrée dans des cellules. Le but final de ma question est de sortir le BIC car il est intégré à un tableau qui sert à faire des virements et là pour le cas je ne peux pas l'exploiter.

J'ai mis la trame finale ou je souhaite utiliser les listes déroulante, j'ai volontairement omis de mettre le pays car la colonne ne sera pas visible à la fin.

30vir-test.xls (11.50 Ko)

Salut tben,

c'est rageant!

Je pense avoir bien compris ton besoin et la macro est prête... sauf que la ListBox ne veut pas, absolument pas, m'afficher les résultats des filtres opérés sur tes listes ce qui, évidemment, empêche les choix à faire.

Si je débloque ce gremlin, il ne faut donc afficher le pays dans aucune colonne (si oui, laquelle?), la banque en colonne C et le code BIC en colonne E?

A+

Bonjour tben08, curulis57, gmb,

tben08 a écrit :

J'ai mis la trame finale ou je souhaite utiliser les listes déroulante

Tu devras retenir, si tu poses une autre question un jour, qu'il vaut mieux poser le problème en entier, dès le départ (ton dernier fichier montre que nous avons envisagé des solutions pour un fichier d'une structure différente).

Lire attentivement chaque message et y répondre de manière complète est aussi une bonne habitude (à la fin de mon premier message, je mentionnais qu'on n'avait pas d'infos sur la manière de créer les listes, ni leur emplacement)

Bref, pour quelqu'un qui ne connaît pas bien la matière, c'est difficile de comprendre ce qui pourrait être important. Dans l'absolu, retiens donc qu'il faut être le plus complet possible ... Sinon on travaille pour rien dans certains cas. Pas certain que la proposition de gmb soit adaptable (mais je me trompe peut-être!?), ni celle de curulis57 (sauf si sa ListBox est dans un UserForm?)

Voici donc une adaptation de ma proposition initiale (c'est seulement maintenant, avec ton dernier message- que je comprends en quoi le double-clic te posait problème!).

C'est la sélection d'une cellule de la plage A2:A200 de la Feuil2 qui crée la liste (Validation de données) avec la liste des pays (tiens, encore une info pas claire: la liste ne sera pas visible à la fin ... mais il faut bien qu'elle figure quelque part, puisque la liste des banques est liée au choix du pays!?)

Lors de la sélection d'un pays en colonne A, la validation est créée en colonne D.

Au choix d'une banque en colonne D, la liste des BIC est créée en colonne F.

Attention: pour que cette proposition fonctionne correctement, il ne peut pas y avoir de virgules dans les noms des banques. Je les ai remplacées par des "-". Quand tu en ajouteras en Feuil1, il faudra y veiller!

au temps pour moi j'aurais du être plus clair. Pas toujours facile de décrire le problème par écrit.

j'ai voulu tester ton fichier mais à l'ouverture j'ai une erreur de fichier corrompu et du coup il n'y a aucune liste déroulante

voici le problème qu'il m'annonce :

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><logFileName>error076240_01.xml</logFileName><summary>Des erreurs ont été détectées dans le fichier « C:\Users\benjamin\Desktop\test liste déroulante (tben08).xlsm »</summary><repairedParts><repairedPart xml:space="preserve">Partie réparée: /xl/worksheets/sheet2.xml partie. </repairedPart></repairedParts></recoveryLog>

Bonsoir,

Désolé pour ce contretemps

J'ai effectivement aussi une erreur à l'ouverture du fichier que j'ai déposé tout à l'heure.

Je l'ai rouvert, copié les deux feuilles dans un nouveau classeur, puis recopié le code de la Feuil2. Testé rapidement sur une machine équipée d'Excel 2010 ... tu nous diras si c'est mieux?

Je repasserai demain dans l'après-midi.

28listes-tben08.xlsm (22.28 Ko)

Salut tben, U.Milité, gmb,

j'ai finalement vaincu mon gremlin et je peux te proposer cette solution à la sauce Curulis!

Tu verras d'abord dans la feuille 'Base' (nom donné par hasard!) un petit bouton vert dans la colonne 'Banque'. Ça veut dire que tu peux travailler librement sur n'importe quelle cellule de ta feuille.

Un clic sur le bouton le fait virer au rouge : tu peux encoder tes Banques et BIC.

Comment?

En cliquant sur la ligne ciblée pour recevoir ces données (Banque en colonne C, BIC en colonne E), une ListBox surgira de nulle part pour s'y positionner, offrant déjà le choix des pays.

Ai-je bien compris qu'il ne fallait pas afficher le pays? Juste?

Tu choisis le pays, la ListBox te propose les banques correspondantes ; tu choisis la banque, la ListBox te propose les n° BIC.

Le travail achevé, le bouton se remet au vert.

Cela va-t-il dans le sens recherché?

A+

32multilist.xlsm (34.12 Ko)
U. Milité a écrit :

Bonsoir,

Désolé pour ce contretemps

J'ai effectivement aussi une erreur à l'ouverture du fichier que j'ai déposé tout à l'heure.

Je l'ai rouvert, copié les deux feuilles dans un nouveau classeur, puis recopié le code de la Feuil2. Testé rapidement sur une machine équipée d'Excel 2010 ... tu nous diras si c'est mieux?

Je repasserai demain dans l'après-midi.

super ça fonctionne très bien!!

si j'essaie de déplacer ma colonne pays la 3 liste déroulante des BIC ne fonctionne plus, c'est dans le code que je dois modifier quelque chose ou dans le paramétrage des listes?


curulis57 a écrit :

Salut tben, U.Milité, gmb,

j'ai finalement vaincu mon gremlin et je peux te proposer cette solution à la sauce Curulis!

Tu verras d'abord dans la feuille 'Base' (nom donné par hasard!) un petit bouton vert dans la colonne 'Banque'. Ça veut dire que tu peux travailler librement sur n'importe quelle cellule de ta feuille.

Un clic sur le bouton le fait virer au rouge : tu peux encoder tes Banques et BIC.

Comment?

En cliquant sur la ligne ciblée pour recevoir ces données (Banque en colonne C, BIC en colonne E), une ListBox surgira de nulle part pour s'y positionner, offrant déjà le choix des pays.

Ai-je bien compris qu'il ne fallait pas afficher le pays? Juste?

Tu choisis le pays, la ListBox te propose les banques correspondantes ; tu choisis la banque, la ListBox te propose les n° BIC.

Le travail achevé, le bouton se remet au vert.

Cela va-t-il dans le sens recherché?

A+

ça fonctionne très bien aussi mais j'y vois un problème, si je me suis trompé dans mon choix de liste je ne peux plus modifier, je suis obligé de supprimer la ligne et recommencer.

Salut tben,

dans n'importe quelle situation, métier ou activité, une erreur conduit à des embêtements.

Quel que soit le système utilisé, il faudra repasser par chaque choix, me semble-t-il, non?

A part le pays avec les validations de données..., c'est vrai...

Cela dit, tu ne dois rien effacer! Tu re-sélectionne la ligne et tu refais la manoeuvre, simplement!

Je vais quand même imaginer un système : en cas d'erreur, si tu cliques sur Banque ou BIC, la ListBox zapperait les étapes inutiles!

Ça t'irait, ça?

Ah, oui, bel exercice en vue pour m'occuper!

A+

Bonjour tout le monde,

tben08 a écrit :

si j'essaie de déplacer ma colonne pays la 3 liste déroulante des BIC ne fonctionne plus, c'est dans le code que je dois modifier quelque chose ou dans le paramétrage des listes?

Tu te souviendras que j'ai écris récemment
U. Milité a écrit :

tiens, encore une info pas claire: la liste ne sera pas visible à la fin ... mais il faut bien qu'elle figure quelque part, puisque la liste des banques est liée au choix du pays!?

Ici, je ne peux pas répondre non plus à ta question, puisqu'on ne sait pas où tu déplaces ta colonne Pays.

En tout cas ce qui est certain, c'est que la modification devra se faire au niveau du code ... puisque les listes sont créées au fur et à mesure, tu ne saurais modifier leur paramétrage.

curulis57 a écrit :

Ah, oui, bel exercice en vue pour m'occuper!

ah ben ça, terminer à peine de digérer un "gremlin" pour se jeter voracement sur un autre! C'est de la gourmandise (ou du masochisme? )

La passion du code, mon cher U.Milité!

Rechercher des sujets similaires à "listes deroulantes fontion premieres"