Affichage de noms selon le choix de groupe dans une liste dé

Bonjour à tous,

J'ai des noms de ville, regroupés sous 4 zone.

Zone1 :

  • Ville1
  • Ville2

Zone2 :

  • Ville1
  • Ville2
  • Ville3

Zone3 :

- Ville1

Zone2 :

  • Ville1
  • Ville2
  • Ville3
  • Ville4

La liste de choix contient les noms des 4 zones.

Selon le choix effectué dans la liste des groupes, j'aimerais affiché dans la colonne B la liste des noms de villes correspondantes à leur zone.

Une idée ?

Merci.

Salut Apt,

Dans le fichier ci-joint, tu as une liste de validation sur la colonne A. En fonction de ton choix en A, une autre liste de validation s’ouvre en colonne B.

Les données des colonnes F à I pourraient être masquées ou se trouver sur une autre feuille.

Cordialement.

60apt.xlsx (8.89 Ko)

Bonsoir Yvouille,

C'est presque ce que je voulais.

A la place d'une deuxième liste déroulante, j'aimerais avoir la liste complète des noms de villes affichés.

Salut,

Merci pour tes remerciements Voici une autre approche.

Amicalement.

54apt-v2.xlsm (15.68 Ko)

Salut le Forum

A tester (sans macro) :

Mytå

Salut Myta,

C'est quand même plus "propre" avec une macro.

Amicalement.

Bonjour Yvouille, Mytå,

Ça marche très vos deux solutions.

Deux fois "Merci" pour Yvouille et Merci pour Mytå également

J'ai essayé de modifier la formule avec INDIRECT($A$1) et une plage nommée Zone1 au lieu de Zone1aa, mais le résultat est faussé.

Je n'obtiens que les noms de villes suivants pour Zone1 :

Ville 16

Ville 17

Ville 18

Ville 19

J'aimerais comprendre cette syntaxe : INDIRECT($A$1&"aa") fonctionne pour Zone1aa

et INDIRECT($A$1) ne fonctionne pour Zone1

Merci d'avance

Bonjour,

une autre proposition par formule (plus simple) :

=DECALER($E$1;LIGNE();EQUIV($A$1;$F$1:$I$1;0))

avec un format personnalisé sur la plage pour ne pas afficher les 0.

eric

47classeur2.xlsx (10.84 Ko)

Bonsoir eric,

eriiic a écrit :

une autre proposition par formule (plus simple)

Merci pour cette solution.

J'attends une explication quand au fonctionnement de l'exemple ci-dessus (INDIRECT)

Bonsoir,

Pas d'explications possible ?

Merci d'avance.

Salut,

Je vois que les formuleurs t'ont laissé tomber

Je présume que tu voudrais que l'on réponde à ta question ci-dessous :

apt a écrit :

J'aimerais comprendre cette syntaxe : INDIRECT($A$1&"aa") fonctionne pour Zone1aa

et INDIRECT($A$1) ne fonctionne pour Zone1

Selon moi c'est parce que Zone1aa fait référence à un "Nom" que j'avais donné à une plage précise et qui avait semble-t-il été reprise par Myta, alors que ta référence Zone1 n'est pas un "Nom".

Si tu veux que j'essaie d'avoir la confirmation de ce que j'avance là, il faudrait que tu fournisses ton fichier avec ton essai avorté.

A te relire.

Bonjour Yvouille,

Un exemple en PJ.

Merci d'avance.

Bonjour,

Et si tu essayais ma proposition ?

Un copié-collé et ça marche.

C'est pour le plaisir d'arriver à faire fonctionner l'autre ou il y a autre chose qui m'échappe ?

eric

Bonsoir eric,

j'ai commencé à travailler avec ta solution, mais j’espérais avoir un éclaircissement sur la différence entre les deux INDIRECT.

C'est tout

Pour ta question je ne vois pas pourquoi l'une ou l'autre ne fonctionnerait pas.

Le tout est d'avoir une plage nommée Zone1 pour la 1ère et Zone1aa pour l'autre.

eric

Selon la version 2 jointe, ça ne marche pas avec à les plages nommées Zone1, Zone2, Zone3 et Zone4.

Il y a bien une différence.

un fichier avec les 2 formules en B1 et B2, E1 et E2 sont les 2 plages nommées.

eric

19classeur1.xls (13.50 Ko)

Avec ton exemple ça marche bien.

La contraire de cet exemple :

https://forum.excel-pratique.com/download/file.php?id=41278

Je ne vois pas de indirect(A1 & "aa") là dedans, je ne comprend pas tout...

Sinon c'est une formule matricielle à valider avec shift+ctrl+entrée pour que ça marche. Et il y a des limitations sur les formules matricielles, c'est peut-être ça ton pb.

eric

PS: j'ai nommé I2:I4 Zone4aa et mis

=SI(LIGNES($1:1)<=NBVAL(INDIRECT($A$1&"aa"));INDEX(INDIRECT($A$1&"aa");PETITE.VALEUR(SI(INDIRECT($A$1&"aa")<>"";LIGNE(INDIRECT("1:"&LIGNES(INDIRECT($A$1&"aa")))));LIGNES($1:1)));"")

ça marche... ou alors je ne comprend pas la question.

26classeur2.xlsm (26.57 Ko)

Bonjour éric,

La formule de Myta, marche trés bien.

Seulement je voulais savoir, pourquoi en nommant les zones autrement (En enlevant les aa), ça pose problème.

En fait, ton dernier classeur joint sagit d'un autre post et non pas de celui-ci.

Rechercher des sujets similaires à "affichage noms choix groupe liste"