VBA comparaison de cellules si <> alors couleur
Résolu
NateBarca
Messages postés
36
Statut
Membre
-
michel_m Messages postés 18903 Statut Contributeur -
michel_m Messages postés 18903 Statut Contributeur -
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
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:
- VBA comparaison de cellules si <> alors couleur
- Excel cellule couleur si condition texte - Guide
- Excel compter cellule couleur sans vba - Guide
- Comparaison million milliard - Accueil - Technologies
- Boite a couleur - Télécharger - Divers Photo & Graphisme
- Formule excel pour additionner plusieurs cellules - Guide
4 réponses
Bonjour
essaies
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
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 ?