VBA comparaison de cellules si <> alors couleur

Résolu/Fermé
NateBarca Messages postés 25 Date d'inscription lundi 27 avril 2009 Statut Membre Dernière intervention 30 novembre 2017 - 26 mai 2016 à 09:42
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 26 mai 2016 à 11:53
Bonjour,

Quelqu'un pourrait me dire pourquoi ce code VBA ne fonctionne pas.
Il a pour but de comparer des cellules.
Quand une cellule n'est pas égale à une autre cellule alors la cellule est colorée en vert.
Lorsque je lance la macro, toutes les cellules ne sont pas colorées alors que certaines sont différentes.

Quelle est l'erreur dans mon code? Merci par avance

<code>Sub ComparaisonNewOld()

'lpremiereligne = 4-1
'ccolonnenew = 10-1
'ccolonneold = 51-1


For j = 1 To 5
For i = 1 To 3
If ActiveSheet.Cells(3 + j, 10 + i).Select <> ActiveSheet.Cells(3 + j, 50 + i).Select Then
ActiveSheet.Cells(3 + j, 10 + i).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5287936
.TintAndShade = 0
.PatternTintAndShade = 0
End With
' Else
' ActiveSheet.Cells(3 + j, 10 + i).Select
' With Selection.Interior
' .Pattern = xlNone
' .TintAndShade = 0
' .PatternTintAndShade = 0
' End With
End If
Next i
Next j
End Sub
A voir également:

4 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
26 mai 2016 à 10:24
Bonjour
essaies
Option Explicit
'--------------------------------
Sub ccm()
Dim Lig As Byte, Col As Byte

Application.ScreenUpdating = False
For Lig = 4 To 8
For Col = 11 To 13
With ActiveSheet.Cells(Lig, Col)
If .Value <> .Offset(0, 50) Then
.Interior.Color = 5287936
Else
.Interior.Pattern = xlNone
End If
End With
Next Col
Next Lig

End Sub

1
NateBarca Messages postés 25 Date d'inscription lundi 27 avril 2009 Statut Membre Dernière intervention 30 novembre 2017
26 mai 2016 à 11:00
Bonjour,

Je note par contre que pour mes 3000 lignes sur 50 colonnes, le message d'erreur suivant apparaît :

"dépassement de capacité"

comment faire ?
0
NateBarca Messages postés 25 Date d'inscription lundi 27 avril 2009 Statut Membre Dernière intervention 30 novembre 2017
26 mai 2016 à 10:44
Parfait,

Le décalage dans ce cas est de 40 et non 50, c'est du détail.

Merci beaucoup
0
NateBarca Messages postés 25 Date d'inscription lundi 27 avril 2009 Statut Membre Dernière intervention 30 novembre 2017
26 mai 2016 à 11:24
Bonjour,


Je note par contre que pour mes 3000 lignes sur 50 colonnes, le message d'erreur suivant apparaît :


"dépassement de capacité"

comment faire ?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
26 mai 2016 à 11:48
tu passes Lig en" integer" au lieu de "byte"

autrement dit , lorsque tu demandes de l'aide, reste conforme à la réalité de ton contexte plutôt que de mettre un exemple réduit vite fait mal fait :o)
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
26 mai 2016 à 11:53
¨pour mémoire:

0