Microsoft 365 Faire correspondre deux bases de données dans Excel

mathmaroc

XLDnaute Nouveau
Bonjour,

J'essaie de faire correspondre deux bases de données qui ont des noms en commun mais des codes différents (voir ma pièce jointe). J'ai essayé avec la fonction RECHERCHEV mais je n'arrive pas à un résultat satisfaisant.

Si vous avec une formule qui corresponde mieux à ma demande, je vous en remercie par avance.

Bonne journée
 

Fichiers joints

R@chid

XLDnaute Barbatruc
Bonjour et Bienvenu sur XLD,
Pourrais-tu être un peu précis et nous dire qu'attends-tu comme résultats ?
Autrement-dit, ajouter ajouter les résultats escomptés manuellement avec une couleur différente, ça va nous aider à t'aider.


Cordialement
 

R@chid

XLDnaute Barbatruc
Re,
@ tout hasard, en C2 :
Code:
=SIERREUR(INDEX(D:D;EQUIV(B2&"*";E:E;0));"---------------")
@ tirer vers le bas

Cordialement
 

mathmaroc

XLDnaute Nouveau
Bonjour R@chid,

Merci beaucoup pour votre solution que je viens de tester et qui semble parfaitement correspondre à mes besoins.

Voilà, en fait j'ai au départ un fond de carte de communes avec des noms et des identifiants (Code : 201.03.01.) et je souhaiterais faire une jointure avec une base de données qui contient aussi les noms des communes mais avec des identifiants spatiaux différents (idCommune : 1675). Or, il m'est impossible de faire une jointure si je ne dispose pas d'un champ clé de jointure commun entre le fond de carte et la base de données.

Bref, j'espère ne pas avoir été trop confus dans mes explications...

Maintenant, votre solution semble correspondre à mes besoins et je vous en remercie vivement. Pourriez-vous aussi m'indiquer où je peux trouver plus de documentation sur cette solution et la fonction que vous avez utilisée.

Cordialement
 

R@chid

XLDnaute Barbatruc
Re,
tu peux trouver plus d'informations sur les fonctions INDEX et EQUIV dans l'aide d'Excel. On ne peut pas utiliser RECEHCREHV puisque cette dernière consiste à ce que les valeurs cherchées se situent dans la première colonne de ta base de données ou bien plus précisément, RECHERCHEV fait les recherches de gauche à droite. Dans ton cas les idCommune se situent avant les Communes, c'est pour cela une formule INDEX/EQUIV est plus adaptée.
"*" remplace une chaine de caractère puisque dans la colonne E il y a des communes avec (Texte) ce qui n'est pas le cas dans la colonne B.
SIERREUR() est pour gérer l'erreur #N/A comme le cas de Abou Lkhal.


Cordialement
 

mathmaroc

XLDnaute Nouveau
Merci encore pour ces précisions,

J'ai juste encore un petit problème (voir en pièce jointe) :

J'ai appliqué votre formule dans mon fichier Excel et cela semble bien fonctionner...

MAIS mon souci c'est que ma jointure entre mon fond de carte et ma base de données se fait désormais sur la ligne CODE (qui est en commun désormais entre le fond de carte et la base de données) dans mon logiciel de cartographie...

OR, la variable TPM de la commune d'ANFA (code : 141.01.01) correspond en fait à la commune de Assoukhour Assawada (Code : 697).

Bref, mon logiciel me permet de bien faire la jointure sur le champ clé CODE mais ma discrétisation de la variable TPM est erronée.

En espérant que vous pourrez comprendre mes erreurs...

Cordialement,
 

Fichiers joints

mathmaroc

XLDnaute Nouveau
RE-

Ce n'est pas la formule qui pose problème mais le fait que la jointure dans le logiciel carto se fasse sur CODE et non sur CODE COMMUN (voir en pj).

Du coup le logiciel fait bien la jointure mais il attribue la variable TPM correspondant à la ligne.
 

Fichiers joints

R@chid

XLDnaute Barbatruc
Re,
je n'arrive pas à bien saisir la question, si tu peux mettre en couleur ce que tu souhaites obtenir comme résultats je pourrais peut-être comprendre.
 

mathmaroc

XLDnaute Nouveau
Voilà une nouvelle capture pour essayer de préciser mon problème :

Le logiciel me "renvoie" pour la commune d'Anfa (en jaune) la valeur en rouge de la variable TPM alors que je souhaiterais obtenir la valeur en vert.
 

Fichiers joints

R@chid

XLDnaute Barbatruc
Re,
Mais cher ami, nous avons appliqué que pour une seule colonne qui est celle IdCommune, il faudrait l'appliquer aussi pour la colonne TPM afin de faire correctement la jointure.
J'ai ajouté une autre formule dans la colonne D. Maintenant c'est à toi de le faire pour le reste de la base de données selon le besoin.


Cordialement
 

Fichiers joints

mathmaroc

XLDnaute Nouveau
RE-

Ah oui, je comprends mieux le problème. Maintenant, c'est OK comme vous pouvez le voir sur les deux captures d'écran. Je continue le travail pour les autres variables de ma base de données.

Encore un grand merci pour votre aide et votre grande patience !!

Bonne fin de soirée.

Cordialement
 

Fichiers joints

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas