mettre en corrélation deux colonnes de données

Le
ymer.hyseni
Bonjour,

j'ai des données, chiffres dans deux colonnes, colonne A ce sont les
donnes d'une base de données, c'est les données de base. Dans la
colonne B j'ai également des chiffres qui viennent d'une autre base de
données.

j'aimerais mettre sur la même ligne les mêmes chiffres, c'est à dire,
au départ les données sont présentées ainsi :

colonne A : 132981 - colonne B : 432981
colonne A : 332981 - colonne B : 532981
colonne A : 932981 - colonne B : 732981
colonne A : 432981 - colonne B : 932981
colonne A : 732981 - colonne B : 132981
colonne A : 532981 - colonne B : 332981

etc

je veux les présenter de cette manière :

colonne A : 432981 - colonne B : 432981
colonne A : 532981 - colonne B : 532981
colonne A : 732981 - colonne B : 732981
colonne A : 932981 - colonne B : 932981
colonne A : 132981 - colonne B : 132981
colonne A : 332981 - colonne B : 332981

il est possible que des chiffres d'une colonne ou une autre peuvent ne
pas se trouver dans la colonne d'à côté, mais dans ce cas, il faut
juste qu'il mette cette donnée en rouge

également il se peut qu'on retrouve dans la colonne B des données à
double ou à triple et même plus, dans ce cas il faut qu'il mette cette
donnée en bleu

pouvez-vous m'aider svp?

merci et à bientôt.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
francois.forcet
Le #6696711
Salut à toi

Est il important de respecter l'ordre de la colonne B telle que tu
l'as présentée ???
En d'autre terme doit on laissé l'ordre de la colonne B et rapporter
en colonne A les valeurs identiques à côté de celles colonne B ???
Si tel est le cas si une valeur colonne A n'existe pas en colonne B où
doit on la mettre en colonne A (à la fin) ???

Sinon je te propose d'opérer un tri colonne A puis Colonne B et de
comparer les 2 colonnes ligne par ligne
Celà implique le même nombre de données et un ordre croissant ou
décroissant qui n'a rien à voir avec ta présentation

Dans cette perspective je te propose ce code
Soit Feuil1 colonne A et B les données à traiter :

Range("A1", "A" & Range("A65535").End(xlUp).Row).Sort
Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom,
_
DataOption1:=xlSortNormal
Range("B1", "B" & Range("B65535").End(xlUp).Row).Sort
Key1:=Range("B1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom,
_
DataOption1:=xlSortNormal
For Each c In Worksheets("Feuil1").Range("A1", "A" &
Range("A65535").End(xlUp).Row)
A = c
B = c.Offset(0, 1)
If c <> c.Offset(0, 1) Then
Range("A" & c.Row, "B" & c.Offset(0, 1).Row).Interior.ColorIndex =
3
End If
If c = c.Offset(1, 0) Then
Range("A" & c.Row, "A" & c.Offset(1, 0).Row).Interior.ColorIndex =
5
End If
If c.Offset(0, 1) = c.Offset(1, 1) Then
Range("B" & c.Row, "B" & c.Offset(1, 0).Row).Interior.ColorIndex =
5
End If
Next

Tu trouveras sur ce lien un exemple :
Feuil2 tes données bruts en Feuil1 le résultat aprés l'éxécution d e la
macro "Compare"

http://www.cijoint.fr/cjlink.php?file=cj200805/cij3dDvmCo.xls.

Fais des essais et dis moi !!!!!
ymer.hyseni
Le #6698741
On May 24, 10:53 am, wrote:
Salut à toi

Est il important de respecter l'ordre de la colonne B telle que tu
l'as présentée ???
En d'autre terme doit on laissé l'ordre de la colonne B et rapporter
en colonne A les valeurs identiques à côté de celles colonne B ???
Si tel est le cas si une valeur colonne A n'existe pas en colonne B où
doit on la mettre en colonne A (à la fin) ???

Sinon je te propose d'opérer un tri colonne A puis Colonne B et de
comparer les 2 colonnes ligne par ligne
Celà implique le même nombre de données et un ordre croissant ou
décroissant qui n'a rien à voir avec ta présentation

Dans cette perspective je te propose ce code
Soit Feuil1 colonne A et B les données à traiter :

Range("A1", "A" & Range("A65535").End(xlUp).Row).Sort
Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom ,
_
DataOption1:=xlSortNormal
Range("B1", "B" & Range("B65535").End(xlUp).Row).Sort
Key1:=Range("B1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom ,
_
DataOption1:=xlSortNormal
For Each c In Worksheets("Feuil1").Range("A1", "A" &
Range("A65535").End(xlUp).Row)
A = c
B = c.Offset(0, 1)
If c <> c.Offset(0, 1) Then
Range("A" & c.Row, "B" & c.Offset(0, 1).Row).Interior.ColorIndex =
3
End If
If c = c.Offset(1, 0) Then
Range("A" & c.Row, "A" & c.Offset(1, 0).Row).Interior.ColorIndex =
5
End If
If c.Offset(0, 1) = c.Offset(1, 1) Then
Range("B" & c.Row, "B" & c.Offset(1, 0).Row).Interior.ColorIndex =
5
End If
Next

Tu trouveras sur ce lien un exemple :
Feuil2 tes données bruts en Feuil1 le résultat aprés l'éxécution de la
macro "Compare"

http://www.cijoint.fr/cjlink.php?file=cj200805/cij3dDvmCo.xls.

Fais des essais et dis moi !!!!!


Salut,

merci pour ta réponse, c'est prèsque ce que je veux...

Il faut effectivement trier les deux colonnes.

Si dans la colonne A une donnée n'existe pas, et que dans la colonne B
elle existe, il faut laisser vide une cellule dans la colonne A et
mettre celle qui existe dans la colonne B en rouge.

Egalement pour ca colonne B, si la donnée existe dans la colonne A et
pas dans la B, il fait laisser une cellule vide dans la colonne B et
la mettre en rouge, et continuer.

merci pour ton aide, et à bientôt.

francois.forcet
Le #6700341
Rebonjours à toi
Ma solution de colorer les données des 2 colonnes divergentes sur une
même ligne n'est elle pas suffisante ????
Laisser un vide revient à rajouter une cellule et décaler les valeurs
suivantes et faire la même chose dans l'autre colonne
Est ce réellement celà que tu souhaites ????
Dis moi !!!!!
ymer.hyseni
Le #6701071
On May 24, 8:57 pm, wrote:
Rebonjours à toi
Ma solution de colorer les données des 2 colonnes divergentes sur une
même ligne n'est elle pas suffisante ????
Laisser un vide revient à rajouter une cellule et décaler les valeurs
suivantes et faire la même chose dans l'autre colonne
Est ce réellement celà que tu souhaites ????
Dis moi !!!!!


re-salut, oui c'est exactement cela que je veux.

merci beaucoup pour ton aide, et à bientôt.

francois.forcet
Le #6702071
Rebonjours à toi
Données en colonne A et B
Je te propose un nouveau code non basé sur le tri mais qui rapporte en
colonne A les valeurs identiques en regard de celles colonne B ou qui
les met à la fin de la colonne A si elles n'existent pas en colonne B
Je part du principe que seule la colonne B peux avoir des doublons
Le code colore ensuite les cellules ayant une valeur ne se retrouvant
pas dans la colonne adjacente et les doublons de la colonne B :

Columns("A:A").Cut
Columns("C:C").Activate
ActiveSheet.Paste
For Each c In Worksheets("Feuil1").Range("C1", "C" &
Range("C65535").End(xlUp).Row)
Range("B1").Activate
On Error Resume Next
Range("B1", "B" & Range("B65535").End(xlUp).Row).Find(What:=c,
After:=Range("B1"), LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
If ActiveCell.Address = Range("B1").Address And ActiveCell <> c
Then
Range("A" & Range("B65535").End(xlUp).Offset(1, 0).Row) = c
Else
Range("A" & ActiveCell.Row) = c
End If
Next
For Each d In Worksheets("Feuil1").Range("A1", "A" &
Range("A65535").End(xlUp).Row)
If d = "" Then
d.Offset(0, 1).Interior.ColorIndex = 3
End If
If d.Offset(0, 1) = "" Then
d.Interior.ColorIndex = 3
End If
If d.Offset(0, 1) = d.Offset(1, 1) And d.Offset(0, 1) <> "" Then
Range("B" & d.Row, "B" & d.Offset(1, 0).Row).Interior.ColorIndex =
5
End If
Next
Columns("C:C").Clear

sur ce lien un fichier avec la macro "Compare2" et ce code

Fais des essais et dis moi !!!!!

http://www.cijoint.fr/cjlink.php?file=cj200805/cij2eSU4L1.xls.
ymer.hyseni
Le #6703191
On May 25, 10:08 am, wrote:
Rebonjours à toi
Données en colonne A et B
Je te propose un nouveau code non basé sur le tri mais qui rapporte en
colonne A les valeurs identiques en regard de celles colonne B ou qui
les met à la fin de la colonne A si elles n'existent pas en colonne B
Je part du principe que seule la colonne B peux avoir des doublons
Le code colore ensuite les cellules ayant une valeur ne se retrouvant
pas dans la colonne adjacente et les doublons de la colonne B :

Columns("A:A").Cut
Columns("C:C").Activate
ActiveSheet.Paste
For Each c In Worksheets("Feuil1").Range("C1", "C" &
Range("C65535").End(xlUp).Row)
Range("B1").Activate
On Error Resume Next
Range("B1", "B" & Range("B65535").End(xlUp).Row).Find(What:=c,
After:=Range("B1"), LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
If ActiveCell.Address = Range("B1").Address And ActiveCell <> c
Then
Range("A" & Range("B65535").End(xlUp).Offset(1, 0).Row) = c
Else
Range("A" & ActiveCell.Row) = c
End If
Next
For Each d In Worksheets("Feuil1").Range("A1", "A" &
Range("A65535").End(xlUp).Row)
If d = "" Then
d.Offset(0, 1).Interior.ColorIndex = 3
End If
If d.Offset(0, 1) = "" Then
d.Interior.ColorIndex = 3
End If
If d.Offset(0, 1) = d.Offset(1, 1) And d.Offset(0, 1) <> "" Then
Range("B" & d.Row, "B" & d.Offset(1, 0).Row).Interior.ColorIndex =
5
End If
Next
Columns("C:C").Clear

sur ce lien un fichier avec la macro "Compare2" et ce code

Fais des essais et dis moi !!!!!

http://www.cijoint.fr/cjlink.php?file=cj200805/cij2eSU4L1.xls.


salut,

c'est excellent, bravo.

merci à toi, et à bientôt.

Publicité
Poster une réponse
Anonyme