Comparaison de 2 colonne + résultat dans la 3eme
Grandeguele
-
Grandeguele -
Grandeguele -
Bonjour,
Après avoir passer plusieurs heure sur les forums, j'ai réussi a comparer 2 colonne et retranscrire les différences dans une 3ème, cependant je souhaiterais qu'elles ne se mettent pas au début de la colonne 3 mais reste en face de l'endroit ou la modification appairait.
A B C
shf shf AAA
shf shf ABCD
hssg AAA AZED
sh hssg
546 sh
21 546
ABC 21
AZE ABCD
ABD AZED
j'ai donc utiliser le code VBA pour avoir la colonne C.
Sub Bouton1_Cliquer()
Dim Colonne1 As Range, Colonne2 As Range, cellule As Range, Trouve As Range, suite As Range
'Compare les colonne A et B de la feuilles 1
Set Colonne2 = Range(("A2"), Range("A2").End(xlDown))
Set Colonne1 = Range(("B2"), Range("B2").End(xlDown))
'Efface la plage de réception
Range("C2:C65536").ClearContents
'Retranscrit les données différente dans la colonne 3
For Each cellule In Colonne1
Set suite = [C65536].End(xlUp).Offset(1, 0)
Set Trouve = Colonne2.Find(cellule.Value, LookIn:=xlValues, lookat:=xlWhole)
If Trouve Is Nothing Then suite.Value = cellule.Value
Next
End Sub
je souhaiterais obtenir le résultat suivant et si possible mettre un fond rouge sur les éléments qui on changé :
A B C
shf shf
shf shf
hssg AAA AAA
sh hssg
546 sh
21 546
ABC 21
AZE ABCD ABCD
ABD AZED AZED
merci d'avance
Après avoir passer plusieurs heure sur les forums, j'ai réussi a comparer 2 colonne et retranscrire les différences dans une 3ème, cependant je souhaiterais qu'elles ne se mettent pas au début de la colonne 3 mais reste en face de l'endroit ou la modification appairait.
A B C
shf shf AAA
shf shf ABCD
hssg AAA AZED
sh hssg
546 sh
21 546
ABC 21
AZE ABCD
ABD AZED
j'ai donc utiliser le code VBA pour avoir la colonne C.
Sub Bouton1_Cliquer()
Dim Colonne1 As Range, Colonne2 As Range, cellule As Range, Trouve As Range, suite As Range
'Compare les colonne A et B de la feuilles 1
Set Colonne2 = Range(("A2"), Range("A2").End(xlDown))
Set Colonne1 = Range(("B2"), Range("B2").End(xlDown))
'Efface la plage de réception
Range("C2:C65536").ClearContents
'Retranscrit les données différente dans la colonne 3
For Each cellule In Colonne1
Set suite = [C65536].End(xlUp).Offset(1, 0)
Set Trouve = Colonne2.Find(cellule.Value, LookIn:=xlValues, lookat:=xlWhole)
If Trouve Is Nothing Then suite.Value = cellule.Value
Next
End Sub
je souhaiterais obtenir le résultat suivant et si possible mettre un fond rouge sur les éléments qui on changé :
A B C
shf shf
shf shf
hssg AAA AAA
sh hssg
546 sh
21 546
ABC 21
AZE ABCD ABCD
ABD AZED AZED
merci d'avance
A voir également:
- Comparer 2 colonnes excel
- Formule moyenne excel plusieurs colonnes - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Déplacer colonne excel - Guide
- Faire 2 colonnes sur word - Guide
- Liste déroulante excel - Guide
2 réponses
Bonjour
Pour une question de logique, j'ai affecté la colonne A à la colonne 1 et la colonne B à la colonne 2.
Cdlt
Pour une question de logique, j'ai affecté la colonne A à la colonne 1 et la colonne B à la colonne 2.
Sub Bouton1_Cliquer() Dim Colonne1 As Range, Colonne2 As Range, cellule As Range, Trouve As Range 'Compare les colonne A et B de la feuilles 1 Set Colonne1 = Range(("A2"), Range("A2").End(xlDown)) Set Colonne2 = Range(("B2"), Range("B2").End(xlDown)) 'Efface la plage de réception Range("C2:C65536").ClearContents 'Retranscrit les données différente dans la colonne 3 For Each cellule In Colonne2 Set Trouve = Colonne1.Find(cellule.Value, LookIn:=xlValues, lookat:=xlWhole) If Trouve Is Nothing Then cellule.Offset(0, 1).Value = cellule Next End Sub
Cdlt