A voir également:
- Comparer 2 listes excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel liste déroulante en cascade - Guide
4 réponses
ce qu'on veut, c'est éliminer les termes qui se trouvent dans les 2 listes et avoir un liste C comportannt les éléments de B n'étant pas dans A........
Comment fait-on ?
Comment fait-on ?
Bonsoir
J'ai deux listes de mots: la liste a A a moins de termes que la liste B et se retrouve au complet a l'intérieur mais les termes de la liste A sont dispersés aléatoirement au travers de la liste B. Il faudrait faire une boucle pour vérifier si l'élément se de A se trouve dans B et s'il ne s'y trouve pas, mettre l'élément dans C.
merci
J'ai deux listes de mots: la liste a A a moins de termes que la liste B et se retrouve au complet a l'intérieur mais les termes de la liste A sont dispersés aléatoirement au travers de la liste B. Il faudrait faire une boucle pour vérifier si l'élément se de A se trouve dans B et s'il ne s'y trouve pas, mettre l'élément dans C.
merci
Bonsoir,
Cf PJ
https://www.cjoint.com/c/CKwuY0lwasP
Sub Liste2_Liste1()
a = Range("A2:A" & [A65000].End(xlUp).Row)
Set MonDico1 = CreateObject("Scripting.Dictionary")
For Each c In a
MonDico1(c) = ""
Next c
b = Range("C2:C" & [C65000].End(xlUp).Row)
Set MonDico2 = CreateObject("Scripting.Dictionary")
For Each c In b
If Not MonDico1.exists(c) Then MonDico2(c) = ""
Next c
[I2].Resize(MonDico2.Count, 1) = Application.Transpose(MonDico2.keys)
End Sub
Sub Liste1_Liste2()
a = Range("C2:C" & [C65000].End(xlUp).Row)
Set MonDico1 = CreateObject("Scripting.Dictionary")
For Each c In a
MonDico1(c) = ""
Next c
b = Range("A2:A" & [A65000].End(xlUp).Row)
Set MonDico2 = CreateObject("Scripting.Dictionary")
For Each c In b
If Not MonDico1.exists(c) Then MonDico2(c) = ""
Next c
[K2].Resize(MonDico2.Count, 1) = Application.Transpose(MonDico2.keys)
End Sub
Sub Communs()
a = Range("A2:A" & [A65000].End(xlUp).Row)
Set MonDico1 = CreateObject("Scripting.Dictionary")
For Each c In a
MonDico1(c) = ""
Next c
b = Range("C2:C" & [C65000].End(xlUp).Row)
Set MonDico2 = CreateObject("Scripting.Dictionary")
For Each c In b
If MonDico1.exists(c) Then If Not MonDico2.exists(c) Then MonDico2(c) = ""
Next c
[G2].Resize(MonDico2.Count, 1) = Application.Transpose(MonDico2.keys)
End Sub
Jacques Boisgontier
Cf PJ
https://www.cjoint.com/c/CKwuY0lwasP
Sub Liste2_Liste1()
a = Range("A2:A" & [A65000].End(xlUp).Row)
Set MonDico1 = CreateObject("Scripting.Dictionary")
For Each c In a
MonDico1(c) = ""
Next c
b = Range("C2:C" & [C65000].End(xlUp).Row)
Set MonDico2 = CreateObject("Scripting.Dictionary")
For Each c In b
If Not MonDico1.exists(c) Then MonDico2(c) = ""
Next c
[I2].Resize(MonDico2.Count, 1) = Application.Transpose(MonDico2.keys)
End Sub
Sub Liste1_Liste2()
a = Range("C2:C" & [C65000].End(xlUp).Row)
Set MonDico1 = CreateObject("Scripting.Dictionary")
For Each c In a
MonDico1(c) = ""
Next c
b = Range("A2:A" & [A65000].End(xlUp).Row)
Set MonDico2 = CreateObject("Scripting.Dictionary")
For Each c In b
If Not MonDico1.exists(c) Then MonDico2(c) = ""
Next c
[K2].Resize(MonDico2.Count, 1) = Application.Transpose(MonDico2.keys)
End Sub
Sub Communs()
a = Range("A2:A" & [A65000].End(xlUp).Row)
Set MonDico1 = CreateObject("Scripting.Dictionary")
For Each c In a
MonDico1(c) = ""
Next c
b = Range("C2:C" & [C65000].End(xlUp).Row)
Set MonDico2 = CreateObject("Scripting.Dictionary")
For Each c In b
If MonDico1.exists(c) Then If Not MonDico2.exists(c) Then MonDico2(c) = ""
Next c
[G2].Resize(MonDico2.Count, 1) = Application.Transpose(MonDico2.keys)
End Sub
Jacques Boisgontier
bonjour,
le mieux est d'utiliser les vlookup (rechercheV sur excel en français)
--> imaginons que la liste A se trouve en colonne A et que la liste B se trouve en colonne B
en colonne C : vous tapez la fonction : =vlookup(a:a;b:b;0) et double clic pour descendre jusqu'en bas (s'il est dans les 2 colonnes il sera là)
réponses directes sur cptarget.be dans la section forum
Christophe
le mieux est d'utiliser les vlookup (rechercheV sur excel en français)
--> imaginons que la liste A se trouve en colonne A et que la liste B se trouve en colonne B
en colonne C : vous tapez la fonction : =vlookup(a:a;b:b;0) et double clic pour descendre jusqu'en bas (s'il est dans les 2 colonnes il sera là)
réponses directes sur cptarget.be dans la section forum
Christophe
une possibilité :
Supposons la 1ere liste en colonne A et la seconde liste en colonne B à partir de B2
En C2 mettre la formule =NB.SI(A:A;B2) et etirer au bas de la colonne B
Ensuite appliquer un filtre sur la colonne C pour ne conserver que les valeurs 0 (uniques à la colonne C)
Copier collage spécial Valeurs de la colonne C filtrée à un autre endroit ou sur une autre feuille
Cdlmnt