J'ai deux listes qui ont un champ en commun:
exemple :
Premi=E8re liste :
NUMERO NOM
12 DURAND
13 DUPONT
14 MARTIN
Seconde liste :
NUMERO COMMANDE
14 TV
12 Hi-Fi
13 ELECTRO
12 TV
Je souhaite faire une jointure entre ces deux listes dans=20
excel 97, pour obtenir une seule liste :
exemple :
NUMERO NOM COMMANDE
12 DURAND Hi-Fi
12 DURAND TV
13 DUPONT ELECTRO
14 MARTIN TV
je souhaite ensuite pouvoir automatiser cette jointure=20
avec une macro.
Quelqu'un sait-il comment faire une jointure avec excel?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Philippe.R
Bonjour Damien, En considérant tes listes triées par ordre croissant, à côté de ta première liste, en colonne C la formule suivante : =INDEX(produits;EQUIV($A2;numcom;COLONNE()-3)) avec, dans la deuxième liste, la plage contenant les numeros du tableau Commande nommée "numcom" et la plage contenant les produits commandés nommée "produits" en colonne D et suivantes, la formule : =SI(INDEX(produits;EQUIV($A2;numcom;COLONNE()-3))=INDEX(produits;EQUIV($A2;numcom;COLONNE()-4));"";INDEX (produits;EQUIV($A2;numcom;COLONNE()-3))) le tout à recopier vers le bas -- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 "damien" a écrit dans le message de news:205501c3623d$332ba010$ bonjour,
J'ai deux listes qui ont un champ en commun: exemple : Première liste :
NUMERO NOM 12 DURAND 13 DUPONT 14 MARTIN
Seconde liste :
NUMERO COMMANDE 14 TV 12 Hi-Fi 13 ELECTRO 12 TV
Je souhaite faire une jointure entre ces deux listes dans excel 97, pour obtenir une seule liste : exemple : NUMERO NOM COMMANDE 12 DURAND Hi-Fi 12 DURAND TV 13 DUPONT ELECTRO 14 MARTIN TV
je souhaite ensuite pouvoir automatiser cette jointure avec une macro.
Quelqu'un sait-il comment faire une jointure avec excel?
merci
damien
Bonjour Damien,
En considérant tes listes triées par ordre croissant, à côté de ta première liste, en colonne C la
formule suivante :
=INDEX(produits;EQUIV($A2;numcom;COLONNE()-3)) avec, dans la deuxième liste, la plage contenant les
numeros du tableau Commande nommée "numcom" et la plage contenant les produits commandés nommée
"produits"
en colonne D et suivantes, la formule :
=SI(INDEX(produits;EQUIV($A2;numcom;COLONNE()-3))=INDEX(produits;EQUIV($A2;numcom;COLONNE()-4));"";INDEX
(produits;EQUIV($A2;numcom;COLONNE()-3)))
le tout à recopier vers le bas
--
Amicales Salutations
A_S_rauphil@wanadoo.fr
Retirer A_S_ pour répondre.
XL97 / XL2002
"damien" <damien@socara.com> a écrit dans le message de news:205501c3623d$332ba010$7d02280a@phx.gbl...
bonjour,
J'ai deux listes qui ont un champ en commun:
exemple :
Première liste :
NUMERO NOM
12 DURAND
13 DUPONT
14 MARTIN
Seconde liste :
NUMERO COMMANDE
14 TV
12 Hi-Fi
13 ELECTRO
12 TV
Je souhaite faire une jointure entre ces deux listes dans
excel 97, pour obtenir une seule liste :
exemple :
NUMERO NOM COMMANDE
12 DURAND Hi-Fi
12 DURAND TV
13 DUPONT ELECTRO
14 MARTIN TV
je souhaite ensuite pouvoir automatiser cette jointure
avec une macro.
Quelqu'un sait-il comment faire une jointure avec excel?
Bonjour Damien, En considérant tes listes triées par ordre croissant, à côté de ta première liste, en colonne C la formule suivante : =INDEX(produits;EQUIV($A2;numcom;COLONNE()-3)) avec, dans la deuxième liste, la plage contenant les numeros du tableau Commande nommée "numcom" et la plage contenant les produits commandés nommée "produits" en colonne D et suivantes, la formule : =SI(INDEX(produits;EQUIV($A2;numcom;COLONNE()-3))=INDEX(produits;EQUIV($A2;numcom;COLONNE()-4));"";INDEX (produits;EQUIV($A2;numcom;COLONNE()-3))) le tout à recopier vers le bas -- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 "damien" a écrit dans le message de news:205501c3623d$332ba010$ bonjour,
J'ai deux listes qui ont un champ en commun: exemple : Première liste :
NUMERO NOM 12 DURAND 13 DUPONT 14 MARTIN
Seconde liste :
NUMERO COMMANDE 14 TV 12 Hi-Fi 13 ELECTRO 12 TV
Je souhaite faire une jointure entre ces deux listes dans excel 97, pour obtenir une seule liste : exemple : NUMERO NOM COMMANDE 12 DURAND Hi-Fi 12 DURAND TV 13 DUPONT ELECTRO 14 MARTIN TV
je souhaite ensuite pouvoir automatiser cette jointure avec une macro.
Quelqu'un sait-il comment faire une jointure avec excel?
merci
damien
Daniel.M
"Patrick" wrote in message news:0cec01c3623f$9b2b3e30$ Salut,
en général j'utilise VLOOKUP mais le problème c'est que pour un même numéro (12) tu as TV et HI-FI!!
C'est la raison pour laquelle il faut générer la 3e liste à partir de la 2e (et non de la 1ère qui est une liste normalisée, 1 ligne/Nom)
Stratégie: Copie la liste2 dans une nouvelle zone (ce sera la liste 3) supposons D1:E5 Trie par Numéro (clé: colonne D) Insère une colonne au milieu (ce sera le NOM) entre NUMERO et COMMANDE La colonne E est nouvelle et vide. En E1, tu mets NOM En E2, tu mets la formule suivante: =RECHERCHEV(D2;liste1;2;0) ' liste1 est l'emplacement de ta 1ère liste, celle qui est normalisée
Tu copies jusqu'à E5 (ou Ex). Tu peux ensuite copier/coller les valeurs si tu ne veux conserver que les valeurs (au lieu des formules).
Salutations,
Daniel M.
"Patrick" <p.tondreau@skynet.be> wrote in message
news:0cec01c3623f$9b2b3e30$a301280a@phx.gbl...
Salut,
en général j'utilise VLOOKUP mais le problème c'est que
pour un même numéro (12) tu as TV et HI-FI!!
C'est la raison pour laquelle il faut générer la 3e liste à partir de la 2e
(et non de la 1ère qui est une liste normalisée, 1 ligne/Nom)
Stratégie:
Copie la liste2 dans une nouvelle zone (ce sera la liste 3) supposons D1:E5
Trie par Numéro (clé: colonne D)
Insère une colonne au milieu (ce sera le NOM) entre NUMERO et COMMANDE
La colonne E est nouvelle et vide.
En E1, tu mets NOM
En E2, tu mets la formule suivante:
=RECHERCHEV(D2;liste1;2;0) ' liste1 est l'emplacement de ta 1ère liste,
celle qui est normalisée
Tu copies jusqu'à E5 (ou Ex).
Tu peux ensuite copier/coller les valeurs si tu ne veux conserver que les
valeurs (au lieu des formules).
"Patrick" wrote in message news:0cec01c3623f$9b2b3e30$ Salut,
en général j'utilise VLOOKUP mais le problème c'est que pour un même numéro (12) tu as TV et HI-FI!!
C'est la raison pour laquelle il faut générer la 3e liste à partir de la 2e (et non de la 1ère qui est une liste normalisée, 1 ligne/Nom)
Stratégie: Copie la liste2 dans une nouvelle zone (ce sera la liste 3) supposons D1:E5 Trie par Numéro (clé: colonne D) Insère une colonne au milieu (ce sera le NOM) entre NUMERO et COMMANDE La colonne E est nouvelle et vide. En E1, tu mets NOM En E2, tu mets la formule suivante: =RECHERCHEV(D2;liste1;2;0) ' liste1 est l'emplacement de ta 1ère liste, celle qui est normalisée
Tu copies jusqu'à E5 (ou Ex). Tu peux ensuite copier/coller les valeurs si tu ne veux conserver que les valeurs (au lieu des formules).