XL 2010 comparer des données

jean123

XLDnaute Occasionnel
Bonjour a tous

j'ai régulièrement des données a comparer (texte, nombre ...)
pour le moment je le fait manuellement mais je pense qu'avec une macro cela doit être possible

les données sont toujours sur la même plage de données ( de la colonne A a AG pour les mois en 31 jours et de A a AF pour les mois en 30 jours )

j'aimerais comparer cette plage entre deux feuille (même plage) (feuil1 et feuil 2) si il y a une différence serait il possible de colorer la cellule (peut importe la couleur )

dans les cellule j'ai soit du texte soit des chiffre (jamais les 2 a la fois dans une même cellule)

le nombre de ligne peut varier

petite précision la feuille 1 se compose de tcd et de formule (je ne sais pas si ça a une incidence)
 

jean123

XLDnaute Occasionnel
j'ai une piste je pense avec lequel je suis un peut comme une poule qui a trouvé un couteau
je veut bien un ptit coup de pouce
voici le code

Code:
Sub Comparaison()
'comparaison dans une feuille dans un seul classeur
Set sh2 = Sheets("Feuil2").Range("A1:AG26")

Set sh1 = Sheets("Feuil3").Range("A1:AG26")

For Each c In sh1
MaValeur = c.Value
If MaValeur <> "" Then

c.Interior.ColorIndex = 6 'colore la cellule cel







End If
Next
End Sub
 

jean123

XLDnaute Occasionnel
j'ai trouvé ceci mais ça ne s'applique pas sur ma plage ???

Code:
Sub Macro1()
Dim i As Integer
i = 2
While i < 20
If Worksheets("Feuil1").Range("A" + CStr(i)).Value <> Worksheets("Feuil2").Range("A" + CStr(i)).Value Then
Worksheets("Feuil2").Activate
Worksheets("Feuil2").Range("A" + CStr(i)).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
i = i + 1
Wend

End Sub
 

pierrejean

XLDnaute Barbatruc
Bonjour Jean123

La feuil2 étant un tcd de la feuil1 il n'y a pas de problème entre elles
Entre feuil2 et feuil3 je propose la macro suivante:

Code:
Sub test()
For n = 1 To Sheets("Feuil2").Range("A" & Rows.Count).End(xlUp).Row
   If Sheets("Feuil2").Range("A" & n) <> "" Then
       For m = 1 To 34
            If Sheets("Feuil2").Cells(n, m) <> Sheets("Feuil3").Cells(n, m) Then
                Sheets("Feuil2").Cells(n, m).Interior.ColorIndex = 4
                Sheets("Feuil3").Cells(n, m).Interior.ColorIndex = 4
            End If
       Next
   End If
Next
End Sub
 

Discussions similaires


Haut Bas