Liste déroulante/validation tableau deux colonnes

Le
smr78
Bonjour,
J'ai par exemple en colonne A, une liste "ville" de noms de villes, en B la
liste "codes" des codes postaux de ces villes, correspondant ligne à ligne.

En C1, je sais faire une liste déroulante
(données/validation/autoriser/liste source="ville") qui affiche les noms
possibles de ville

En D1, je sais faire une formule qui affiche le code postal correspondant à
la ville choisie en C1
=INDEX(codes;EQUIV(C1;ville;0))

Mais y a t-il une formule magique qui mettrait directement le code postal en
C1 au lieu de D1 une fois que le nom de ville a été choisi? Ca sent la
référence circulaire, OK? Avec du VBA alors et une combobox en C1 ou
ailleurs? Oui mais ça se corse si la chose doit être répétée sur les cellules
en dessous C2, C3, C4.

Bien sûr dans le problème réel, les listes ville et codes sont sur une autre
feuille et je sais faire et il ne s'agit pas de noms de villes.


Merci pour toute aide

Cordialement
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Â+
Le #3767591
Salut,

Pas une formule, mais bien une astuce.

Sous le menu Insertion / Nom / Définir / ville
modifier sous "fait référence à" la plage $A$1:$A$100 (par exemple) en
$A$1:$B$100.

La liste de validation affichera les noms des villes et leur code postal,
juste en-dessous de chaque ville.
Au lieu de cliquer sur le nom de la ville, cliquer sur son code postal.

Petite restriction : il ne faut pas retourner sous le menu Données /
Validation car la source est considérée comme erronée et il faut l'effacer
pour en sortir.

Â+






Bonjour,
J'ai par exemple en colonne A, une liste "ville" de noms de villes, en B la
liste "codes" des codes postaux de ces villes, correspondant ligne à ligne.

En C1, je sais faire une liste déroulante
(données/validation/autoriser/liste source="ville") qui affiche les noms
possibles de ville

En D1, je sais faire une formule qui affiche le code postal correspondant à
la ville choisie en C1
=INDEX(codes;EQUIV(C1;ville;0))

Mais y a t-il une formule magique qui mettrait directement le code postal en
C1 au lieu de D1 une fois que le nom de ville a été choisi? Ca sent la
référence circulaire, OK? Avec du VBA alors et une combobox en C1 ou
ailleurs? Oui mais ça se corse si la chose doit être répétée sur les cellules
en dessous C2, C3, C4....

Bien sûr dans le problème réel, les listes ville et codes sont sur une autre
feuille et je sais faire et il ne s'agit pas de noms de villes.


Merci pour toute aide

Cordialement



smr78
Le #3767291
Bonjour,
C'est parfait et ça fonctionne! Merci bien

Pour ceux que ça intéresse, je rappelle l'astuce de "Schnoulle" postée sur
ce forum
le 30 juil 2004, pour avoir une plage nommée, dans une feuille différente et
dont la taille puisse varier :

dans Insertion/nom/définir taper :

MaListeQuiSeMetAJourTouteSeuleCommeUneGrande: = INDIRECT("Feuil2!$A$1:$A$" &
NBVAL($A:$A))

Bien mettre les $ dans nbval

Cordialement

Salut,

Pas une formule, mais bien une astuce.

Sous le menu Insertion / Nom / Définir / ville
modifier sous "fait référence à" la plage $A$1:$A$100 (par exemple) en
$A$1:$B$100.

La liste de validation affichera les noms des villes et leur code postal,
juste en-dessous de chaque ville.
Au lieu de cliquer sur le nom de la ville, cliquer sur son code postal.

Petite restriction : il ne faut pas retourner sous le menu Données /
Validation car la source est considérée comme erronée et il faut l'effacer
pour en sortir.

Â+






Bonjour,
J'ai par exemple en colonne A, une liste "ville" de noms de villes, en B la
liste "codes" des codes postaux de ces villes, correspondant ligne à ligne.

En C1, je sais faire une liste déroulante
(données/validation/autoriser/liste source="ville") qui affiche les noms
possibles de ville

En D1, je sais faire une formule qui affiche le code postal correspondant à
la ville choisie en C1
=INDEX(codes;EQUIV(C1;ville;0))

Mais y a t-il une formule magique qui mettrait directement le code postal en
C1 au lieu de D1 une fois que le nom de ville a été choisi? Ca sent la
référence circulaire, OK? Avec du VBA alors et une combobox en C1 ou
ailleurs? Oui mais ça se corse si la chose doit être répétée sur les cellules
en dessous C2, C3, C4....

Bien sûr dans le problème réel, les listes ville et codes sont sur une autre
feuille et je sais faire et il ne s'agit pas de noms de villes.


Merci pour toute aide

Cordialement





AV
Le #3767201
| MaListeQuiSeMetAJourTouteSeuleCommeUneGrande: = INDIRECT("Feuil2!$A$1:$A$" &
| NBVAL($A:$A))

** Cette syntaxe est incorrecte car NBVAL(A:A) compte le nbre de valeurs de la
colonne A la feuille active !
Il faut donc impérativement spécifier le nom de la feuille :
= INDIRECT("Feuil2!$A$1:$A$" & NBVAL(Feuil2!$A:$A))

** Par ailleurs cette syntaxe présente l'inconvénient majeur et rédhibitoire de
coincer si le nom de la feuille source est changée !

Pourquoi pas le classique :
ÞCALER(Feuil2!$A$2;;;NBVAL(Feuil2!$A:$A)-1)

AV
Publicité
Poster une réponse
Anonyme