Associer une ville à un code postal

Fermé
Signaler
Messages postés
1
Date d'inscription
jeudi 10 avril 2014
Statut
Membre
Dernière intervention
10 avril 2014
-
Messages postés
4
Date d'inscription
jeudi 29 mai 2014
Statut
Membre
Dernière intervention
31 mai 2014
-
Bonjour,
Je fais une base de données sur excel avec des coordonnées clients.
J'aimerais qu'en tapant un code postal, la ville s'affiche. J'ai utilisé une RECHERCHEV mais le problème est que certaines villes ont le même code postal. Comment pourrais-je intégrer une liste qui me permettrait de choisir entre les différentes villes que la recherchev a trouvé?
Merci d'avance !

5 réponses

Messages postés
5800
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
18 janvier 2022
686
Bonjour

Il faut construire une liste des communes qui ont le même code postal
(les codes postaux doivent être triés dans l'ordre croissant)
Pour trouver le premier utiliser =EQUIV( C1;A10:A37000;0)

La cellule C1 contient le code postal recherché,
La cellule C1 peut-être une liste déroulante
A10:A37000 la colonne des codes postaux
Type 0 pour avoir la valeur correspondante exactement

Vous devez compter le nombre de code C1 identique dans la colonne A
Equiv vous donne le numéro de ligne du premier code correspondant par rapport à votre point de départ A10 si le résultat est 5 l'information est en ligne 15

=ADRESSE(LIGNE()+EQUIV("oui";B7:B21;0);2;3;1;"BASE_CODES")

Donc dans votre formule pour le 2ème code ligne() va incrémenter l'adresse
de +1
Après ligne() il faudra mettre un + ou - pour régler le point de départ de la formule
suivant le numéro de ligne ou se trouve votre formule pour faire coïncider les numéro des lignes
le numéro de la colonne contenant les communes est 2 dans ma formule
cette formule sera tirées sur une quinzaine de lignes pour avoir la liste des codes postaux identiques cela vous donnera la base de la liste déroulante des communes

0
Messages postés
5800
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
18 janvier 2022
686
Bonjour

L'explication étant complexe un exemple sera plus parlant

https://www.cjoint.com/?3DkmcW90J5S
0
Messages postés
26404
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
21 janvier 2022
6 185
Bonjour
un petit joujou ici:
https://www.cjoint.com/c/DDkmsQvxjbd

crdlmnt
0
Messages postés
5800
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
18 janvier 2022
686
Bonjour Vaucluse

Très intéressant, mais si je tape 10140 il y a 22 communes et l'affichage est de 13 donc il y a une modification à faire.
Je me suis moi même fait avoir en prévoyant 15 lignes et encore je n'ai pas tout contrôlé
je viens de regarder il faut 46 lignes pour 51300
0
Messages postés
26404
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
21 janvier 2022
6 185
Exact, merci de l'info, je ne croyais pas qu'il y en avait tant!!
mais il suffit alors de supprimer la formule en H2 qui n'est pas que pour faire joli, ou de la remplacer par:
=SI(F4="";"";NB.SI(DATA!B:B;F4)&SI(NB.SI(DATA!B:B;F4)>1;" villes trouvées";" ville trouvée"))

et de tirer la formule en dessous jusqu'à la ligne 60 ça devrait suffire....!

crdlmnrt
0
Messages postés
5800
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
18 janvier 2022
686
Bonjour Vaucluse

J'ai ajouté un contrôle pour que les cellules restent vides quand la liste est plus courte

=SI(LIGNE()-3<=NB.SI(DATA!B:B;$F$4);SI(OU($F$4="";NB.SI(DATA!H:H;$F$4)<=LIGNE()-4);"";INDEX(DATA!G:G;EQUIV($F$4*1;DATA!H:H;0)+LIGNE()-4));"")

Merci pour le fichier, j'aime bien la présentation, c'est top

Bonne journée
0
Messages postés
16547
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
19 janvier 2022
3 259
Bonjour

Un exemple avec VBA
https://www.cjoint.com/?3Dkm7Rru55y

Un exemple par formule avec plusieurs méthodes (vert: débutant avec colonne intermédiaire; bleue avec matricielle avec formule de Jacques Boisgontier)
https://www.cjoint.com/?3Dkndqq2CVz

dans les 2 propositions, il n'est pas nécessaire de trier les codes dans l'ordre crossant -cas classique des carnets d'adresses
0
Messages postés
4
Date d'inscription
jeudi 29 mai 2014
Statut
Membre
Dernière intervention
31 mai 2014

Je faisais face au même problème et après quelques essais je me retrouve avec cette façon possible, essayer et laissez-moi savoir si vous rencontrez un problème nouveau, et pour base de données des codes postaux, vous pouvez visiter http://www.lecodepostal.fr/ qu'ils ont données géantes de codes postaux. Santé

=INDEX($I$2:$I$9000,MATCH(1,($H$2:$H$9=E11)*($J$2:$J$9<=SUBSTITUTE(B2,LEFT(B2,FIND("
",B2)),""))*($K$2:$K$9>=--LEFT(B2,FIND(" ",B2)-1)),0))


entrée avec ctrl + shift et entrer


s'assurer qu'il n'y a pas d'espaces cachés dans le tableau

-
Cordialement,

Anthony Cole
0