OVH Cloud OVH Cloud

Afficher les enregistrements en plus en comparant deux listes

3 réponses
Avatar
C.Thouvenin
Bonjour,


Un problème m'a été soumis que je n'ai pas pu résoudre, mais je suis sûre
que quelqu'un, sur cette liste, trouvera la solution, du moins, je l'espère
:

Il s'agit de comparer deux listes identiques en ce qui concerne les champs
d'en-têtes et de demander d'afficher seulement les enregistrements en plus,
c'est à dire ceux qui n'existent pas en doublon.

Exemple :
En liste A, j'ai Dupont Anne, Durand Françoise, Boucher Dominique, Fermier
François.

En liste B, j'ai : Fermier François, Boulon Claude, Durand Françoise,
Boucher Domminique, Cordonnier Vincent.

Je voudrais afficher donc les enregistrements suivants : Dupont Anne, Boulon
Claude, Cordonnier Vincent.

La personne qui m'a demandé cela m'a dit qu'apparemment on lui avait parlé
d' une formule RECHERCHE.... mais, je penserai pour ma part plutôt à un
filtre élaboré avec extraction ailleurs....Peut-être, cependant, est-il
possible d'utiliser les deux : un filtre élaboré dans lequel on mettrait une
fonction de recherche, mais je ne suis, moi-même, jamais allée jusque là....

Merci de vos réponses,

Catherine

3 réponses

Avatar
fabienne HUÏEZ
voici un bot de code qui pourras t'aider

Sub ComparaisonListe()
'compare deux listes (en colonne B et C) afin de supprimer
les données redondantes

Range("B1").Select
Do While ActiveCell.Value <> ""
Adresse1 = ActiveCell.Address
Nom1 = ActiveCell.Value
Range("C1").Select
Do While ActiveCell <> ""
If ActiveCell.Value = Nom1 Then
ActiveCell.Delete
End If
ActiveCell.Offset(1, 0).Range("A1").Select
Loop
Range(Adresse1).Select
ActiveCell.Offset(1, 0).Range("A1").Select
Loop
End Sub

-----Message d'origine-----
Bonjour,


Un problème m'a été soumis que je n'ai pas pu résoudre,
mais je suis sûre

que quelqu'un, sur cette liste, trouvera la solution, du
moins, je l'espère

:

Il s'agit de comparer deux listes identiques en ce qui
concerne les champs

d'en-têtes et de demander d'afficher seulement les
enregistrements en plus,

c'est à dire ceux qui n'existent pas en doublon.

Exemple :
En liste A, j'ai Dupont Anne, Durand Françoise, Boucher
Dominique, Fermier

François.

En liste B, j'ai : Fermier François, Boulon Claude,
Durand Françoise,

Boucher Domminique, Cordonnier Vincent.

Je voudrais afficher donc les enregistrements suivants :
Dupont Anne, Boulon

Claude, Cordonnier Vincent.

La personne qui m'a demandé cela m'a dit qu'apparemment
on lui avait parlé

d' une formule RECHERCHE.... mais, je penserai pour ma
part plutôt à un

filtre élaboré avec extraction ailleurs....Peut-être,
cependant, est-il

possible d'utiliser les deux : un filtre élaboré dans
lequel on mettrait une

fonction de recherche, mais je ne suis, moi-même, jamais
allée jusque là....


Merci de vos réponses,

Catherine

.



Avatar
C.Thouvenin
Merci beaucoup Fabienne. Cependant, quand je copie ce code et que j'exécute
la macro, il m'affiche que la variable n'est pas définie( Adresse1)

Alors je m'oriente vers une autre idée.

On pourrait définir un format conditionnel qui met d'une certaine couleur
intérieure (jaune par exemple) les cellules différentes dans une liste en la
comparant à une autre. Cependant, comment faire pour que la formule prenne
en compte plusieurs cellules d'une même ligne, c'est à dire qu'il considère
Anne Dupont comme une entité et non pas Anne puis Dupont ? Une formule avec
SommeProd ? (j'ai l'intuition que cette formule est magique....).

Et ensuite, l'idée serait de trouver la formule qui dirait : "afficher les
contenus dont les cellules sont remplies de couleur jaune" ?

Bon courage à ceux qui plancheraient pour moi...

Catherine

De : fabienne HUÏEZ
Groupes : microsoft.public.fr.excel
Date : Thu, 13 Nov 2003 00:35:03 -0800
Objet : Afficher les enregistrements en plus en comparant deux listes

voici un bot de code qui pourras t'aider

Sub ComparaisonListe()
'compare deux listes (en colonne B et C) afin de supprimer
les données redondantes

Range("B1").Select
Do While ActiveCell.Value <> ""
Adresse1 = ActiveCell.Address
Nom1 = ActiveCell.Value
Range("C1").Select
Do While ActiveCell <> ""
If ActiveCell.Value = Nom1 Then
ActiveCell.Delete
End If
ActiveCell.Offset(1, 0).Range("A1").Select
Loop
Range(Adresse1).Select
ActiveCell.Offset(1, 0).Range("A1").Select
Loop
End Sub

-----Message d'origine-----
Bonjour,


Un problème m'a été soumis que je n'ai pas pu résoudre,
mais je suis sûre

que quelqu'un, sur cette liste, trouvera la solution, du
moins, je l'espère

:

Il s'agit de comparer deux listes identiques en ce qui
concerne les champs

d'en-têtes et de demander d'afficher seulement les
enregistrements en plus,

c'est à dire ceux qui n'existent pas en doublon.

Exemple :
En liste A, j'ai Dupont Anne, Durand Françoise, Boucher
Dominique, Fermier

François.

En liste B, j'ai : Fermier François, Boulon Claude,
Durand Françoise,

Boucher Domminique, Cordonnier Vincent.

Je voudrais afficher donc les enregistrements suivants :
Dupont Anne, Boulon

Claude, Cordonnier Vincent.

La personne qui m'a demandé cela m'a dit qu'apparemment
on lui avait parlé

d' une formule RECHERCHE.... mais, je penserai pour ma
part plutôt à un

filtre élaboré avec extraction ailleurs....Peut-être,
cependant, est-il

possible d'utiliser les deux : un filtre élaboré dans
lequel on mettrait une

fonction de recherche, mais je ne suis, moi-même, jamais
allée jusque là....


Merci de vos réponses,

Catherine

.





Avatar
AV
Tu peux faire simple :
Par copier/coller, avec les 2 listes tu n'en fais qu'une (qque part en A1:Ax)
Puis en B1:Bx :
=nb.si($A$1:$A$x;A1)
Tu n'as plus,ensuite, qu'à filtrer sur la valeur 1 de la colonne B

AV