Fonction EQUIV: problème avec une valeur supérieur à 10000

baronpoupou

XLDnaute Nouveau
Bonjour,

Je suis actuellement entrain de faire une comparaison entre une base de données répertoriant les villes dans une application et la base des villes de l'INSEE.
J'ai besoin de comparer pour chacune des villes de mon application le couple code postal et ville avec celui de la base INSEE.
J'ai donc fait un fichier excel avec 2 tableaux représentant chacun une des tables.
Dans la base de l'application les noms des villes sont tronquées à 23 caractères.
Les codes postaux eux peuvent être sur 4 caractères au lieu de 5.
J'utilise donc une formule matricielle:
{=EQUIV(1,(villesPL=$A14)*(codepl=$C14),0)}
où "villesPL" est le nom de la liste des villes INSEE et "codepl" la liste des code postaux. A14 ici représente le nom de la ville recherché et C14 le code postal recherche.
Je fais ce type de calcul car un même code postal peux avoir 2 villes différentes et un même nom de ville peux avoir 2 code postaux différents. Par contre le couple code postal et nom de ville est unique.
Il se trouve que lorsque le code postal est 10000 ou plus grand la formule EQUIV me renvoie N/A alors que sa correspondance existe dans la base INSEE.
J'ai essayé de mettre la colonne au format texte au cas où ce serait un problème mais ça ne change rien.
Vous trouverez en fichier joint une partie de mon fichier.
La ville de TROYES dont le code postal est 10000 retourne une erreur (en ligne 14)
Auriez-vous une solution a ce problème sachant que la base de données des villes fait 40000 enregistrements.

Merci d'avance,
 

Pièces jointes

  • ComparaisonVillestest.zip
    155.4 KB · Affichages: 32

Tibo

XLDnaute Barbatruc
Re : Fonction EQUIV: problème avec une valeur supérieur à 10000

Bonjour,

Je te propose de commencer par nommer tes listes de façon dynamique avec la fonction DECALER.

Pour Codelp : fait référence à :

Code:
=DECALER(insee2!$A$1;;;NBVAL('base villes'!$A:$A))

Même principe pour villesPL :

Code:
=DECALER(insee2!$C$1;;;NBVAL('base villes'!$C:$C))


Ensuite, sur l'onglet base villes, plus besoin de la formule en colonne C avec cette formule en D1 :

Code:
=EQUIV(1;(villesPL=$A1)*(TEXTE(codepl;"00000")=TEXTE($B1;"00000"));0)

Matricielle donc CTRL + MAJ + ENTREE

à recopier vers le bas

@+
 

baronpoupou

XLDnaute Nouveau
Re : Fonction EQUIV: problème avec une valeur supérieur à 10000

Merci beaucoup.
Donc c'était bien un problème de comparaison de nombre et de texte.
J'avais cherché longtemps avant de poster et la en un rien de temps j'ai une réponse.
Merci encore
 

Discussions similaires

Statistiques des forums

Discussions
312 472
Messages
2 088 713
Membres
103 932
dernier inscrit
clotilde26