Scripting.Dictionary adaptation
Le
PST

Bonjour
Bonjour
Je cherche à adapter cet macro de JB à un tableau de 1000 lignes 10 c=
olonnes
Je voudrais afficher les communs sur une ligne a côté
Sur la même ligne, les différents
Tant que les communs sont les mêmes et le même nombre que la ligne en=
dessous , on rajoute les différents sur la même ligne
Ex:
le point ; représente la séparation de colonne
1001;1002;1004;1005;1006;1007;1008;1009;1010;1012
1001;1002;1004;1005;1006;1007;1008;1009;1010;1014
1001;1002;1004;1005;1006;1007;1008;1009;1015;1016
Résultat sur la ligne 2
Communs : 1001;1002;1004;1005;1006;1007;1008;1009;1010
Différents: 1012;1014
A la troisième ligne la procédure recommence puisque ni le nombre de =
valeurs communes, ni les valeurs ne sont plus les mêmes
Le résultat serait à afficher,à chaque fois, sur la dernière lign=
e ou
les deux conditions sont réunies à savoir dans l'exemple la ligne 2
Mondico1 serait la ligne en cours
Mondico2 la ligne en dessous
Merci
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
Bonjour
Je cherche à adapter cet macro de JB à un tableau de 1000 lignes 10 c=
olonnes
Je voudrais afficher les communs sur une ligne a côté
Sur la même ligne, les différents
Tant que les communs sont les mêmes et le même nombre que la ligne en=
dessous , on rajoute les différents sur la même ligne
Ex:
le point ; représente la séparation de colonne
1001;1002;1004;1005;1006;1007;1008;1009;1010;1012
1001;1002;1004;1005;1006;1007;1008;1009;1010;1014
1001;1002;1004;1005;1006;1007;1008;1009;1015;1016
Résultat sur la ligne 2
Communs : 1001;1002;1004;1005;1006;1007;1008;1009;1010
Différents: 1012;1014
A la troisième ligne la procédure recommence puisque ni le nombre de =
valeurs communes, ni les valeurs ne sont plus les mêmes
Le résultat serait à afficher,à chaque fois, sur la dernière lign=
e ou
les deux conditions sont réunies à savoir dans l'exemple la ligne 2
Mondico1 serait la ligne en cours
Mondico2 la ligne en dessous
Merci
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
Je ne comprends pas la question.
Peux-tu publier un petit fichier illustrant ce que tu veux faire et le résultat attendu.
Pour ce faire, tu peux utiliser l'adresse suivante : cjoint.com. Tu nous retournes ici
l'adresse que tu auras obtenue.
N'oublie pas d'expliquer pour quelles raisons un élément est différent des autres
et doit être classé dans un autre groupe, ce n'est pas clair pour moi!
MichD
---------------------------------------------------------------
"PST" a écrit dans le message de groupe de discussion :
5001909c$0$6197$
Bonjour
Bonjour
Je cherche à adapter cet macro de JB à un tableau de 1000 lignes 10 colonnes
Je voudrais afficher les communs sur une ligne a côté
Sur la même ligne, les différents
Tant que les communs sont les mêmes et le même nombre que la ligne en
dessous , on rajoute les différents sur la même ligne
Ex:
le point ; représente la séparation de colonne
1001;1002;1004;1005;1006;1007;1008;1009;1010;1012
1001;1002;1004;1005;1006;1007;1008;1009;1010;1014
1001;1002;1004;1005;1006;1007;1008;1009;1015;1016
Résultat sur la ligne 2
Communs : 1001;1002;1004;1005;1006;1007;1008;1009;1010
Différents: 1012;1014
A la troisième ligne la procédure recommence puisque ni le nombre de
valeurs communes, ni les valeurs ne sont plus les mêmes
Le résultat serait à afficher,à chaque fois, sur la dernière ligne ou
les deux conditions sont réunies à savoir dans l'exemple la ligne 2
Mondico1 serait la ligne en cours
Mondico2 la ligne en dessous
Merci
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