Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comparer 2 listes

6 réponses
Avatar
Dam's
Bonjour,

Je veux comparer 2 listes (pas forcément de même longueur) pour en créer une
troisième avec les éléments uniques de chacune des 2 listes.

Par exemple :

Ma colonne A me donne
gérard
maurice
laurent
stephanie

Ma colonne B me donne
stephanie
laurent
thomas

Ma colonne C que je souhaite obtenir
gérard
maurice
laurent
stephanie
thomas

Fastoche ?

6 réponses

Avatar
isabelle
bonjour Dam,

une solution vba ferait t'elle l'affaire ?

Sub Macro1()
Range("A1:A" & Range("A65536").End(xlUp).Row).Copy _
Destination:=Range("c1")
x = Application.CountA(Range("C:C")) + 1
Range("B1:B" & Range("B65536").End(xlUp).Row).Copy _
Destination:=Range("C" & x)
Range("C1:C" & Range("C65536").End(xlUp).Row).AdvancedFilter _
Action:=xlFilterCopy, CopyToRange:=Range("D1"), Unique:=True
Columns("C:C").Delete Shift:=xlToLeft
End Sub

isabelle


Bonjour,

Je veux comparer 2 listes (pas forcément de même longueur) pour en créer une
troisième avec les éléments uniques de chacune des 2 listes.

Par exemple :

Ma colonne A me donne
gérard
maurice
laurent
stephanie

Ma colonne B me donne
stephanie
laurent
thomas

Ma colonne C que je souhaite obtenir
gérard
maurice
laurent
stephanie
thomas

Fastoche ?


Avatar
Monmailpro
Merci, ça ne marche pas mal, mais le filtre sans doublon ne marche pas avec
les éléments suivants (ce que je ne comprend pas)

Col A
damien
cécile
maylis

Col B
thomas
alexandre
damien
cécile
maylis
rené

Col C (résultat)
damien
cécile
maylis
thomas
alexandre
damien
rené

On voit que le doublon "damien" n'est pas éliminé. je ne sais pas pourquoi,
si ce n'est que la formule marche bien si les données de la cellule en A1
(damien en l'occurence) ne sont pas en doublon dans la colonne B.

Bizarre isn't it ?


"isabelle" a écrit dans le message de news:

bonjour Dam,

une solution vba ferait t'elle l'affaire ?

Sub Macro1()
Range("A1:A" & Range("A65536").End(xlUp).Row).Copy _
Destination:=Range("c1")
x = Application.CountA(Range("C:C")) + 1
Range("B1:B" & Range("B65536").End(xlUp).Row).Copy _
Destination:=Range("C" & x)
Range("C1:C" & Range("C65536").End(xlUp).Row).AdvancedFilter _
Action:=xlFilterCopy, CopyToRange:=Range("D1"), Unique:=True
Columns("C:C").Delete Shift:=xlToLeft
End Sub

isabelle


Bonjour,

Je veux comparer 2 listes (pas forcément de même longueur) pour en créer
une


troisième avec les éléments uniques de chacune des 2 listes.

Par exemple :

Ma colonne A me donne
gérard
maurice
laurent
stephanie

Ma colonne B me donne
stephanie
laurent
thomas

Ma colonne C que je souhaite obtenir
gérard
maurice
laurent
stephanie
thomas

Fastoche ?




Avatar
AV
On voit que le doublon "damien" n'est pas éliminé. je ne sais pas pourquoi,
si ce n'est que la formule marche bien si les données de la cellule en A1
(damien en l'occurence) ne sont pas en doublon dans la colonne B.


Parceque l'utilisation du filtre élaboré nécessite (obligatoirement) une
étiquette de colonne !
Par défaut, XL prend la 1° ligne de la colonne donc, dans ton cas, celle
contenant "damien" qui n'est pas considéré comme un éventuel doublon

AV

Avatar
Andrea Parker
Bonjour,
j'ai déjà rencontré ce type de problème
et en fait la personne qui a saisi à du faire un espace après le mot

il est invisible mais il pose problème


AV a écrit:
On voit que le doublon "damien" n'est pas éliminé. je ne sais pas pourquoi,
si ce n'est que la formule marche bien si les données de la cellule en A1
(damien en l'occurence) ne sont pas en doublon dans la colonne B.



Parceque l'utilisation du filtre élaboré nécessite (obligatoirement) une
étiquette de colonne !
Par défaut, XL prend la 1° ligne de la colonne donc, dans ton cas, celle
contenant "damien" qui n'est pas considéré comme un éventuel doublon

AV






Avatar
Monmailpro
Ok tu as raison.

J'ai mis des étiquette de colonne et j'ai un peu modifié la macro. ça
fonctionne très bien maintennat.

Voici la nouvelle macro si ça peut intéresser qqn

Range("A2:A" & Range("A65536").End(xlUp).Row).Copy _
Destination:=Range("c2")
x = Application.CountA(Range("C:C")) + 2
Range("B2:B" & Range("B65536").End(xlUp).Row).Copy _
Destination:=Range("C" & x)
Range("C2:C" & Range("C65536").End(xlUp).Row).AdvancedFilter _
Action:=xlFilterCopy, CopyToRange:=Range("D2"), Unique:=True
Columns("C:C").Delete Shift:=xlToLeft

Merci à tous

"AV" a écrit dans le message de news:

On voit que le doublon "damien" n'est pas éliminé. je ne sais pas
pourquoi,


si ce n'est que la formule marche bien si les données de la cellule en
A1


(damien en l'occurence) ne sont pas en doublon dans la colonne B.


Parceque l'utilisation du filtre élaboré nécessite (obligatoirement) une
étiquette de colonne !
Par défaut, XL prend la 1° ligne de la colonne donc, dans ton cas, celle
contenant "damien" qui n'est pas considéré comme un éventuel doublon

AV






Avatar
Dam's
Euh, je suis allé un peu vite...

Pour que ça marche vraiment il faut la macro suivante :

Range("A1:A" & Range("A65536").End(xlUp).Row).Copy _
Destination:=Range("c1")
x = Application.CountA(Range("C:C")) + 1
Range("B2:B" & Range("B65536").End(xlUp).Row).Copy _
Destination:=Range("C" & x)
Range("C1:C" & Range("C65536").End(xlUp).Row).AdvancedFilter _
Action:=xlFilterCopy, CopyToRange:=Range("D1"), Unique:=True
Columns("C:C").Delete Shift:=xlToLeft

Désolé

"Monmailpro" a écrit dans le message de news:

Ok tu as raison.

J'ai mis des étiquette de colonne et j'ai un peu modifié la macro. ça
fonctionne très bien maintennat.

Voici la nouvelle macro si ça peut intéresser qqn

Range("A2:A" & Range("A65536").End(xlUp).Row).Copy _
Destination:=Range("c2")
x = Application.CountA(Range("C:C")) + 2
Range("B2:B" & Range("B65536").End(xlUp).Row).Copy _
Destination:=Range("C" & x)
Range("C2:C" & Range("C65536").End(xlUp).Row).AdvancedFilter _
Action:=xlFilterCopy, CopyToRange:=Range("D2"), Unique:=True
Columns("C:C").Delete Shift:=xlToLeft

Merci à tous

"AV" a écrit dans le message de news:

On voit que le doublon "damien" n'est pas éliminé. je ne sais pas
pourquoi,


si ce n'est que la formule marche bien si les données de la cellule en
A1


(damien en l'occurence) ne sont pas en doublon dans la colonne B.


Parceque l'utilisation du filtre élaboré nécessite (obligatoirement) une
étiquette de colonne !
Par défaut, XL prend la 1° ligne de la colonne donc, dans ton cas, celle
contenant "damien" qui n'est pas considéré comme un éventuel doublon

AV