Associer une ville à un code postal

Fermé
marieRH Messages postés 1 Date d'inscription jeudi 10 avril 2014 Statut Membre Dernière intervention 10 avril 2014 - 10 avril 2014 à 10:31
anthonyc12 Messages postés 4 Date d'inscription jeudi 29 mai 2014 Statut Membre Dernière intervention 31 mai 2014 - 31 mai 2014 à 11:36
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 !
A voir également:

5 réponses

PHILOU10120 Messages postés 6368 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 22 avril 2024 796
10 avril 2014 à 11:07
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
PHILOU10120 Messages postés 6368 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 22 avril 2024 796
10 avril 2014 à 12:03
Bonjour

L'explication étant complexe un exemple sera plus parlant

https://www.cjoint.com/?3DkmcW90J5S
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
10 avril 2014 à 12:18
Bonjour
un petit joujou ici:
https://www.cjoint.com/c/DDkmsQvxjbd

crdlmnt
0
PHILOU10120 Messages postés 6368 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 22 avril 2024 796
10 avril 2014 à 12:43
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
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
10 avril 2014 à 13:16
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
PHILOU10120 Messages postés 6368 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 22 avril 2024 796
10 avril 2014 à 14:21
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
10 avril 2014 à 13:05
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
anthonyc12 Messages postés 4 Date d'inscription jeudi 29 mai 2014 Statut Membre Dernière intervention 31 mai 2014
31 mai 2014 à 11:36
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