Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Liste déroulante/validation tableau deux colonnes

3 réponses
Avatar
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

3 réponses

Avatar
Â+
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



Avatar
smr78
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





Avatar
AV
| 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