j'ai des donn=E9es, chiffres dans deux colonnes, colonne A ce sont les
donnes d'une base de donn=E9es, c'est les donn=E9es de base. Dans la
colonne B j'ai =E9galement des chiffres qui viennent d'une autre base de
donn=E9es.
j'aimerais mettre sur la m=EAme ligne les m=EAmes chiffres, c'est =E0 dire,
au d=E9part les donn=E9es sont pr=E9sent=E9es 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=E9senter de cette mani=E8re :
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'=E0 c=F4t=E9, mais dans ce cas, il faut
juste qu'il mette cette donn=E9e en rouge...
=E9galement il se peut qu'on retrouve dans la colonne B des donn=E9es =E0
double ou =E0 triple et m=EAme plus, dans ce cas il faut qu'il mette cette
donn=E9e en bleu
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
francois.forcet
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"
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:=False, Orientation:=xlTopToBottom,
_
DataOption1:=xlSortNormal
Range("B1", "B" & Range("B65535").End(xlUp).Row).Sort
Key1:=Range("B1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, 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"
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"
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"
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.
On May 24, 10:53 am, francois.for...@wanadoo.fr 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:=False, Orientation:=xlTopToBottom ,
_
DataOption1:=xlSortNormal
Range("B1", "B" & Range("B65535").End(xlUp).Row).Sort
Key1:=Range("B1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, 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"
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.
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"
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
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 !!!!!
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 !!!!!
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
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.
On May 24, 8:57 pm, francois.for...@wanadoo.fr 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 !!!!!
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
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
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:=False, SearchFormat:=False).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
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
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
On May 25, 10:08 am, francois.for...@wanadoo.fr 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:=False, SearchFormat:=False).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
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