VBA comparaison de cellules si <> alors couleur

Résolu
NateBarca Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   -  
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   -
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
¨pour mémoire:

0