B
bipbip
Guest
Bonjour à tous,
j'ai besoin d'aide pour affiner ma macro.
Qqs explications: je veux comparer les valeurs des celulles de 2 tableaux excel qui se trouvent sur 2 feuilles.
Voici ma macro:
Sub ComparaisonTableau()
Dim RG1 As Range, RG2 As Range
Dim Tblo1, Tblo2, Rg3 As Range
Dim A As Long, B As Integer, C As Long, D As Integer
Set RG1 = Sheets('010305').Range('E327') 'Tabeau 1
Set RG2 = Sheets('020305').Range('E327') 'Tableau 2
Set Rg3 = Sheets('Comparaison').Range('E3') 'Tableau des résultats
If RG1.Rows.Count <> RG2.Rows.Count Then
MsgBox 'Le tableau n'a pas le même nombre de lignes'
Exit Sub
End If
If RG1.Columns.Count <> RG2.Columns.Count Then
MsgBox 'Le tableau n'a pas le même nombre de colonnes'
Exit Sub
End If
Tblo1 = RG1: Tblo2 = RG2: D = 1
Application.ScreenUpdating = False
For A = 1 To UBound(Tblo1, 1)
For B = 1 To UBound(Tblo1, 2)
If Tblo1(A, B) <> Tblo2(A, B) Then
C = C + 1
Rg3(C, D) = RG1(A, B).Address(0, 0)
Rg3(C, D).Offset(, 1) = Tblo1(A, B)
Rg3(C, D).Offset(, 2) = RG2(A, B).Address(0, 0)
Rg3(C, D).Offset(, 3) = Tblo2(A, B)
End If
Next
Next
Set RG1 = Nothing: Set RG2 = Nothing: Set Rg3 = Nothing
Erase Tblo1: Erase Tblo2
End Sub
Mon soucis est le suivant:
Je souhaiterais pouvoir dans un premier temps apporter qqs couleur au résultats trouvé c'est à dire si la valeur du tableau 2 est supérieur à celle du tableau 1 le résultat s'affiche en vert si elle est inférieur en rouge.
Ensuite niveau présentation mon résultat n'est pas celui que j'espérais en effet je souhaite obtenir un tableau identique au deux autres avec UNIQUEMENT les valeurs qui changent sous un autre code couleur les autres ne serait alors pas modifié.
Or ce que j'obtient est du genre 'n°cellule(F6)puis la valeur du tableau 1 (10)et la valeur du tableau 2(11)'.uniquement pour les valeurs qui ont changées(là c OK), mais j'ai pas les valeurs ichangées et en plus le résultat ne s'affiche même pas dans les bonnes cellules.
Bref à l'aide SVP
[file name=Semaine10.zip size=32423]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Semaine10.zip[/file] [file name=Semaine10.zip size=32423]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Semaine10.zip[/file]
j'ai besoin d'aide pour affiner ma macro.
Qqs explications: je veux comparer les valeurs des celulles de 2 tableaux excel qui se trouvent sur 2 feuilles.
Voici ma macro:
Sub ComparaisonTableau()
Dim RG1 As Range, RG2 As Range
Dim Tblo1, Tblo2, Rg3 As Range
Dim A As Long, B As Integer, C As Long, D As Integer
Set RG1 = Sheets('010305').Range('E327') 'Tabeau 1
Set RG2 = Sheets('020305').Range('E327') 'Tableau 2
Set Rg3 = Sheets('Comparaison').Range('E3') 'Tableau des résultats
If RG1.Rows.Count <> RG2.Rows.Count Then
MsgBox 'Le tableau n'a pas le même nombre de lignes'
Exit Sub
End If
If RG1.Columns.Count <> RG2.Columns.Count Then
MsgBox 'Le tableau n'a pas le même nombre de colonnes'
Exit Sub
End If
Tblo1 = RG1: Tblo2 = RG2: D = 1
Application.ScreenUpdating = False
For A = 1 To UBound(Tblo1, 1)
For B = 1 To UBound(Tblo1, 2)
If Tblo1(A, B) <> Tblo2(A, B) Then
C = C + 1
Rg3(C, D) = RG1(A, B).Address(0, 0)
Rg3(C, D).Offset(, 1) = Tblo1(A, B)
Rg3(C, D).Offset(, 2) = RG2(A, B).Address(0, 0)
Rg3(C, D).Offset(, 3) = Tblo2(A, B)
End If
Next
Next
Set RG1 = Nothing: Set RG2 = Nothing: Set Rg3 = Nothing
Erase Tblo1: Erase Tblo2
End Sub
Mon soucis est le suivant:
Je souhaiterais pouvoir dans un premier temps apporter qqs couleur au résultats trouvé c'est à dire si la valeur du tableau 2 est supérieur à celle du tableau 1 le résultat s'affiche en vert si elle est inférieur en rouge.
Ensuite niveau présentation mon résultat n'est pas celui que j'espérais en effet je souhaite obtenir un tableau identique au deux autres avec UNIQUEMENT les valeurs qui changent sous un autre code couleur les autres ne serait alors pas modifié.
Or ce que j'obtient est du genre 'n°cellule(F6)puis la valeur du tableau 1 (10)et la valeur du tableau 2(11)'.uniquement pour les valeurs qui ont changées(là c OK), mais j'ai pas les valeurs ichangées et en plus le résultat ne s'affiche même pas dans les bonnes cellules.
Bref à l'aide SVP
[file name=Semaine10.zip size=32423]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Semaine10.zip[/file] [file name=Semaine10.zip size=32423]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Semaine10.zip[/file]