VBA comparaison de cellules si <> alors couleur

Résolu
NateBarca Messages postés 36 Statut Membre -  
michel_m Messages postés 18903 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

4 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. NateBarca Messages postés 36 Statut Membre
       
      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
  2. NateBarca Messages postés 36 Statut Membre
     
    Parfait,

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

    Merci beaucoup
    0
  3. NateBarca Messages postés 36 Statut Membre
     
    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
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      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
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    ¨pour mémoire:

    0