EXCEL : macro pour comparer deux colonnes
Fermé
pepito79
Messages postés
12
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
26 février 2009
-
24 févr. 2009 à 11:26
Mabelle60 Messages postés 469 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 21 juin 2017 - 26 févr. 2009 à 10:24
Mabelle60 Messages postés 469 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 21 juin 2017 - 26 févr. 2009 à 10:24
A voir également:
- EXCEL : macro pour comparer deux colonnes
- Liste déroulante excel - Guide
- Formule excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Mise en forme conditionnelle excel - Guide
17 réponses
Mabelle60
Messages postés
469
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
21 juin 2017
130
24 févr. 2009 à 12:00
24 févr. 2009 à 12:00
Salut
Voilà déja sans Macro
=SI(NB.SI(Feuil2!C$1:C$50;Feuil!A1);"oui";"")
A placer en B1 et tirer jusqu'en B100 (ou face à ton début de champ de feuille 1 jusqu'a la fin du champ de la même feuille)
Je creuse pour la macro si tu y tiens absolument.
Voilà déja sans Macro
=SI(NB.SI(Feuil2!C$1:C$50;Feuil!A1);"oui";"")
A placer en B1 et tirer jusqu'en B100 (ou face à ton début de champ de feuille 1 jusqu'a la fin du champ de la même feuille)
Je creuse pour la macro si tu y tiens absolument.
pepito79
Messages postés
12
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
26 février 2009
24 févr. 2009 à 12:15
24 févr. 2009 à 12:15
Merci beaucoup,
Pour la macro pas la peine, je pensais que c'etait faisable qu'avec une macro.
Encore merci, tu est au top
Pour la macro pas la peine, je pensais que c'etait faisable qu'avec une macro.
Encore merci, tu est au top
pepito79
Messages postés
12
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
26 février 2009
25 févr. 2009 à 13:59
25 févr. 2009 à 13:59
J'ai encore besoin d'aide SVP
Il s'agit de la meme problematique que la premiere fois, mais au lieu de remplir la cellule par un oui, je souhaiterai que la formule colle la cellule D du mot correspondant.
exemple : Feuille 1 : A B Feuille 2 : C D
maison velo roue
velo roue porte serrure
voiture
porte serrure
Amicalement.
Il s'agit de la meme problematique que la premiere fois, mais au lieu de remplir la cellule par un oui, je souhaiterai que la formule colle la cellule D du mot correspondant.
exemple : Feuille 1 : A B Feuille 2 : C D
maison velo roue
velo roue porte serrure
voiture
porte serrure
Amicalement.
pepito79
Messages postés
12
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
26 février 2009
25 févr. 2009 à 14:41
25 févr. 2009 à 14:41
A l'aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pepito79
Messages postés
12
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
26 février 2009
25 févr. 2009 à 15:08
25 févr. 2009 à 15:08
J'ai encore besoin d'aide SVP
Il s'agit de la meme problematique que la premiere fois, mais au lieu de remplir la cellule par un oui, je souhaiterai que la formule colle la cellule D du mot correspondant.
exemple : Feuille 1 : ----------A------B ---------Feuille 2 : ---------C ---------D
-------------------------------maison ---------------------------------velo -----roue
---------------------------------velo ---roue -------------------------porte ---serrure
-------------------------------voiture
--------------------------------porte --serrure
Amicalement.
Il s'agit de la meme problematique que la premiere fois, mais au lieu de remplir la cellule par un oui, je souhaiterai que la formule colle la cellule D du mot correspondant.
exemple : Feuille 1 : ----------A------B ---------Feuille 2 : ---------C ---------D
-------------------------------maison ---------------------------------velo -----roue
---------------------------------velo ---roue -------------------------porte ---serrure
-------------------------------voiture
--------------------------------porte --serrure
Amicalement.
Mike-31
Messages postés
18310
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
29 mars 2024
5 073
25 févr. 2009 à 15:38
25 févr. 2009 à 15:38
Salut,
D'une question toute simple, on fini par se perdre dans toutes ces explications qui vues de l'extérieur sont difficilement compréhensible.
Le plus simple est de mettre à notre disposition un exemple de fichier avec des annotations, sur la feuille 1 j’ai ça et sur la feuille 2 je souhaiterai avoir ça ou le contenu de cette cellule etc etc …
Pour joindre un fichier avec ce lien
https://www.cjoint.com/
A+
D'une question toute simple, on fini par se perdre dans toutes ces explications qui vues de l'extérieur sont difficilement compréhensible.
Le plus simple est de mettre à notre disposition un exemple de fichier avec des annotations, sur la feuille 1 j’ai ça et sur la feuille 2 je souhaiterai avoir ça ou le contenu de cette cellule etc etc …
Pour joindre un fichier avec ce lien
https://www.cjoint.com/
A+
pepito79
Messages postés
12
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
26 février 2009
25 févr. 2009 à 15:54
25 févr. 2009 à 15:54
Je connais pas ce site :
https://www.cjoint.com/?cBp0C08eLH
Dans la colonne K de la feuille1 se trouve la formule initiale ("oui" dans K si la celulle J se trouve dans la colonne C de la feuiile 2)
Moi maintenant je souhaiterai a la pace de "oui" avoir le contenu de la cellule D de la feuille 2.
Merci
https://www.cjoint.com/?cBp0C08eLH
Dans la colonne K de la feuille1 se trouve la formule initiale ("oui" dans K si la celulle J se trouve dans la colonne C de la feuiile 2)
Moi maintenant je souhaiterai a la pace de "oui" avoir le contenu de la cellule D de la feuille 2.
Merci
Bonjour
=SI(ESTERREUR(RECHERCHEV(J1;Feuil2!$C$1:$D$4;2;0));"";RECHERCHEV(J1;Feuil2!$C$1:$D$4;2;0))
Les données de la colonne J de feuil1 doit être en ordre croissant
=SI(ESTERREUR(RECHERCHEV(J1;Feuil2!$C$1:$D$4;2;0));"";RECHERCHEV(J1;Feuil2!$C$1:$D$4;2;0))
Les données de la colonne J de feuil1 doit être en ordre croissant
Mabelle60
Messages postés
469
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
21 juin 2017
130
25 févr. 2009 à 16:50
25 févr. 2009 à 16:50
Salut
Autant pour moi, il fallait bien lire Feuil1!A1 (sorry,sorry... j'le f'rait plus)
De prime abord, je tenterais
=SI(NB.SI(Feuil2!C$1:C$50;Feuil1!A1);RECHERCHEV(Feuil1!A1;Feuil2!C$1:D$50;2;FAUX);"")
Autant pour moi, il fallait bien lire Feuil1!A1 (sorry,sorry... j'le f'rait plus)
De prime abord, je tenterais
=SI(NB.SI(Feuil2!C$1:C$50;Feuil1!A1);RECHERCHEV(Feuil1!A1;Feuil2!C$1:D$50;2;FAUX);"")
Mike-31
Messages postés
18310
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
29 mars 2024
5 073
25 févr. 2009 à 16:58
25 févr. 2009 à 16:58
Salut,
A la vu de ton fichier je pense plus à la RECHERCHEV
Commence par nommer ta plage de cellule contenant les infos feuille2 exemple Liste
la formule en Feuille 1 devient
=RECHERCHEV(J8;Liste;2;0)
Mai si la valeur recherchée n'existe pas il y aura un message d'erreur #N/A pour éviter ce message il convient de saisir cette formule
=SI(ESTERREUR(RECHERCHEV(J4;Liste;2;0));"";RECHERCHEV(J4;Liste;2;0))
et d'incrémenter vers le bas récupéres ton fichier avec le lien
https://www.cjoint.com/?cBq61qmkFl
A+
A la vu de ton fichier je pense plus à la RECHERCHEV
Commence par nommer ta plage de cellule contenant les infos feuille2 exemple Liste
la formule en Feuille 1 devient
=RECHERCHEV(J8;Liste;2;0)
Mai si la valeur recherchée n'existe pas il y aura un message d'erreur #N/A pour éviter ce message il convient de saisir cette formule
=SI(ESTERREUR(RECHERCHEV(J4;Liste;2;0));"";RECHERCHEV(J4;Liste;2;0))
et d'incrémenter vers le bas récupéres ton fichier avec le lien
https://www.cjoint.com/?cBq61qmkFl
A+
pepito79
Messages postés
12
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
26 février 2009
26 févr. 2009 à 09:04
26 févr. 2009 à 09:04
Grace à vos infos, j'ai pu utiliser la fonction "RECHERCHEV" que je connaissais pas, a vrai dire j'en connaissais aucune.
Je suis allé au plus simple et ca a l'air de bien fonctionner :
=RECHERCHEV(Feuil1!L2;Feuil3!$A$1:$B$666;2;FAUX)
Merci à tous
Voila un forum avec des forumeurs efficaces.
Restez pas loin j'aurai certainement besoin encore de vous, :-)
Fabien
Je suis allé au plus simple et ca a l'air de bien fonctionner :
=RECHERCHEV(Feuil1!L2;Feuil3!$A$1:$B$666;2;FAUX)
Merci à tous
Voila un forum avec des forumeurs efficaces.
Restez pas loin j'aurai certainement besoin encore de vous, :-)
Fabien
pepito79
Messages postés
12
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
26 février 2009
26 févr. 2009 à 09:18
26 févr. 2009 à 09:18
Grace à vos infos, j'ai pu utiliser la fonction "RECHERCHEV" que je connaissais pas, a vrai dire j'en connaissais aucune.
Je suis allé au plus simple et ca a l'air de bien fonctionner :
=RECHERCHEV(Feuil1!L2;Feuil3!$A$1:$B$666;2;FAUX)
PAR CONTRE : C'EST QUOI LA DIFFERENCE ENTRE $A$1:$B$666 ET A$1:B$666, AQUOI SERVE LES $ DEVANT ?
Merci à tous
Voila un forum avec des forumeurs efficaces.
Restez pas loin j'aurai certainement besoin encore de vous, :-)
Fabien
Je suis allé au plus simple et ca a l'air de bien fonctionner :
=RECHERCHEV(Feuil1!L2;Feuil3!$A$1:$B$666;2;FAUX)
PAR CONTRE : C'EST QUOI LA DIFFERENCE ENTRE $A$1:$B$666 ET A$1:B$666, AQUOI SERVE LES $ DEVANT ?
Merci à tous
Voila un forum avec des forumeurs efficaces.
Restez pas loin j'aurai certainement besoin encore de vous, :-)
Fabien
Mabelle60
Messages postés
469
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
21 juin 2017
130
26 févr. 2009 à 09:43
26 févr. 2009 à 09:43
Salut
Les $ servent à figer les lignes et colonnes de référence. Très utile lorsque tu veux copier une formule avec les même chamsp de références
Le $ devant la lettre fige la colonne. Après la lettre, il fige la ligne.
Explication
Ta formule =RECHERCHEV(Feuil1!L2;Feuil3!A1:B666;2;FAUX) en D3
sans les $, tu copie colle en D4, tu aura
=RECHERCHEV(Feuil1!L2;Feuil3!A2:B667;2;FAUX)
si tu as une donnée en A1, elle sera exclue de la recherche
si tu colle en C3, tu auras
=RECHERCHEV(Feuil1!L2;Feuil3!B1:C666;2;FAUX)
La c'est encore plus embêtant car tu exclue totalement la colonne A. De ce fait soit tu as des données en colonne C et tes retours seront erronés voire résultat #N/A, soit tu n'as rien encolonne C et tu aura 0 en retour
Voilà voilà
Les $ servent à figer les lignes et colonnes de référence. Très utile lorsque tu veux copier une formule avec les même chamsp de références
Le $ devant la lettre fige la colonne. Après la lettre, il fige la ligne.
Explication
Ta formule =RECHERCHEV(Feuil1!L2;Feuil3!A1:B666;2;FAUX) en D3
sans les $, tu copie colle en D4, tu aura
=RECHERCHEV(Feuil1!L2;Feuil3!A2:B667;2;FAUX)
si tu as une donnée en A1, elle sera exclue de la recherche
si tu colle en C3, tu auras
=RECHERCHEV(Feuil1!L2;Feuil3!B1:C666;2;FAUX)
La c'est encore plus embêtant car tu exclue totalement la colonne A. De ce fait soit tu as des données en colonne C et tes retours seront erronés voire résultat #N/A, soit tu n'as rien encolonne C et tu aura 0 en retour
Voilà voilà
Mike-31
Messages postés
18310
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
29 mars 2024
5 073
26 févr. 2009 à 09:41
26 févr. 2009 à 09:41
Salut,
$A$1 (colonne absolue (référence de cellule absolue : dans une formule, adresse exacte d'une cellule, quelle que soit la position de la cellule qui contient la formule. Une référence de cellule absolue se présente sous la forme $A$1.) et ligne absolue) $A$1
A$1 (colonne relative (référence relative : dans une formule, adresse d'une cellule basée sur la position relative de la cellule contenant la formule et de la cellule à laquelle il est fait référence. Si vous copiez la formule, la référence s'adapte automatiquement. Une référence relative s'affiche sous la forme A1.) et ligne absolue) C$1
$A1 (colonne absolue et ligne relative) $A3
A1 (colonne relative et ligne relative) C3
Pour mieux comprendre, tu saisis une valeur exemple 2 dans la cellule A1 et tu saisis dans une autre cellule B1 = A1 et tu incrémente cette cellule vers le bas ou vers la droite ensuite tu recommence cette opération avec une $ à droite de l'identification de la colonne =$A1 puis la $ à gauche et =$A$1
Pour revenir à ta formule et remplacer cette partie Feuil3!$A$1:$B$666 tu peux nommer cette plage exemple Liste
ce qui te donnera =RECHERCHEV(Feuil1!L2;Liste;2;FAUX)
A+
$A$1 (colonne absolue (référence de cellule absolue : dans une formule, adresse exacte d'une cellule, quelle que soit la position de la cellule qui contient la formule. Une référence de cellule absolue se présente sous la forme $A$1.) et ligne absolue) $A$1
A$1 (colonne relative (référence relative : dans une formule, adresse d'une cellule basée sur la position relative de la cellule contenant la formule et de la cellule à laquelle il est fait référence. Si vous copiez la formule, la référence s'adapte automatiquement. Une référence relative s'affiche sous la forme A1.) et ligne absolue) C$1
$A1 (colonne absolue et ligne relative) $A3
A1 (colonne relative et ligne relative) C3
Pour mieux comprendre, tu saisis une valeur exemple 2 dans la cellule A1 et tu saisis dans une autre cellule B1 = A1 et tu incrémente cette cellule vers le bas ou vers la droite ensuite tu recommence cette opération avec une $ à droite de l'identification de la colonne =$A1 puis la $ à gauche et =$A$1
Pour revenir à ta formule et remplacer cette partie Feuil3!$A$1:$B$666 tu peux nommer cette plage exemple Liste
ce qui te donnera =RECHERCHEV(Feuil1!L2;Liste;2;FAUX)
A+
pepito79
Messages postés
12
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
26 février 2009
26 févr. 2009 à 09:49
26 févr. 2009 à 09:49
Merci pour vos explications, je vais de ce pas faire ce petit exercices pour bien comprendre.
hier j'avais un peu essayé avec une plage, mais à chaque test j'etais obligé de nommer de maniere dieffrente alors j'ai arreté.
Dans la formule quand on nomme une plage, il faut quand meme mettre la feuille devant ?
Fabien
hier j'avais un peu essayé avec une plage, mais à chaque test j'etais obligé de nommer de maniere dieffrente alors j'ai arreté.
Dans la formule quand on nomme une plage, il faut quand meme mettre la feuille devant ?
Fabien
Mabelle60
Messages postés
469
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
21 juin 2017
130
26 févr. 2009 à 09:55
26 févr. 2009 à 09:55
Salut
A partir du moment ou ta plage est nommée, tu peux l'utiliser sans identifier la feuille devant.
Seul point d'attention, si tu souhaites ajouter des valeurs dans ta plage, ne pas les mettre à la suite.
Ta plage définie s'arrête à la dernière ligne de ta plage de départ, quelque soit le nombre de valeurs ajoutée ensuite.
Pour contourner ça, je fait Insérer/décaler vers le bas en prenant soin de ne pas choisir la première ni la dernière cellule de ma plage de départ, j'ajoute ma(mes) valeurs dans les champs vides et je trie.
L'autre solluction consiste à passer par Insertion/Nom/Définir et renommer ta plage, mais je trouve que c'est plus long.
A partir du moment ou ta plage est nommée, tu peux l'utiliser sans identifier la feuille devant.
Seul point d'attention, si tu souhaites ajouter des valeurs dans ta plage, ne pas les mettre à la suite.
Ta plage définie s'arrête à la dernière ligne de ta plage de départ, quelque soit le nombre de valeurs ajoutée ensuite.
Pour contourner ça, je fait Insérer/décaler vers le bas en prenant soin de ne pas choisir la première ni la dernière cellule de ma plage de départ, j'ajoute ma(mes) valeurs dans les champs vides et je trie.
L'autre solluction consiste à passer par Insertion/Nom/Définir et renommer ta plage, mais je trouve que c'est plus long.
Mike-31
Messages postés
18310
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
29 mars 2024
5 073
26 févr. 2009 à 10:00
26 févr. 2009 à 10:00
Re,
non pas du tout lorsque tu nommes une plage de cellule dans un classeur, le nom de ta plage peut être utilisée sur toutes les feuilles du classeur, c'est l'intérêt
pour faire simple, tu mets en surbrillance ta plage et fais insertion/nom/définir tu saisis le nom que tu souhaites donner exemple Liste et OK
Ta formule quelque soit la feuille sera
=RECHERCHEV(Feuil1!L2;Liste;2;FAUX)
A+
non pas du tout lorsque tu nommes une plage de cellule dans un classeur, le nom de ta plage peut être utilisée sur toutes les feuilles du classeur, c'est l'intérêt
pour faire simple, tu mets en surbrillance ta plage et fais insertion/nom/définir tu saisis le nom que tu souhaites donner exemple Liste et OK
Ta formule quelque soit la feuille sera
=RECHERCHEV(Feuil1!L2;Liste;2;FAUX)
A+
pepito79
Messages postés
12
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
26 février 2009
26 févr. 2009 à 10:14
26 févr. 2009 à 10:14
J'ai bien compris le role des $, ma dernires question est : quelle est le role du FAUX à la fin ?
Dés qu"il trouve il arrete de chercher ?
Dés qu"il trouve il arrete de chercher ?
Mabelle60
Messages postés
469
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
21 juin 2017
130
26 févr. 2009 à 10:24
26 févr. 2009 à 10:24
Re
FAUX trouvera la valeur exacte ou n'affichera riensi il ne trouve pas
VRAI s'arrête à la valeurs se rapprochant le plus de ton critère de test si il ne trouve pas ou si ta liste de référence n'est pas rangée par ordre alphabetique. Tu n'est pas obligé de mettre VRAI ou FAUX, dans ce cas, la formule prendra l'option VRAI par défaut.
FAUX trouvera la valeur exacte ou n'affichera riensi il ne trouve pas
VRAI s'arrête à la valeurs se rapprochant le plus de ton critère de test si il ne trouve pas ou si ta liste de référence n'est pas rangée par ordre alphabetique. Tu n'est pas obligé de mettre VRAI ou FAUX, dans ce cas, la formule prendra l'option VRAI par défaut.
25 févr. 2009 à 15:15
enfeuilletant le forum je suis tombé sur votre reponse ; j'avoue que je n'y comprend pas grd chose
SI(NB.SI(Feuil2!C$1:C$50;Feuil!A1);"oui";"") donc si vous pouviez me dire a quoi correspond le critère feuil!A1
cela m'aiderai à (peut-etre ) a comprendre ce que l'on veut comparer dans les 2 colonnes car je ne vois pas le rapport entre velo / porte/ auto neanmoins votre formule peut etre utle à d'autres egards
merci A+
25 févr. 2009 à 15:29
En suite A2 qui doit etre comparée avec les cellules de C1 à C50 de la feuille 2
Et si les cellules correspondes, je souhaite que l'on copie la case D pour A feuille1 = C feuille2, et que l'on colle dans B de A correspondant.
25 févr. 2009 à 16:05
25 févr. 2009 à 16:23