Bonjour,
Dans ta procédure, chaque cellule de la colonne A sont comparée à la cellule de la colonne B ce qui implique non pas 1 comparaison par cellule mais 13 comparaisons pour chaque cellules de A.
Si c'est une seule comparaison que tu veux, voici une petite boucle rapide:
Où c représente la cellule en court de traitement
Où c.offset(,1) fait référence à la cellule délcalée de une colonne à droite par rapport à c (soit la cellule de la colonne B)
Sub color()
Const VERT = 10
Const ORANGE = 45
Dim c As Range
For Each c In Range('A2:A13')
c.Interior.ColorIndex = IIf(c.Offset(, 1) > c, ORANGE , VERT)
Next c
End Sub
Mais encore plus simple serait de laisser Excel Gérer ce qui sait très bien faire: Les formats conditionnels.
1 Sélectionner la plage 'A2:A13' puis Menu Format/Mise en forme conditionnel
Liste 'Condition1': la valeur de la cellule est
Liste ' à droite' : supérieure à
puis zone encore à droite: =B2 (Excel adaptera automatiquement cette référence pour toute les cellule sélectionnées)
enfin bouton Format : Choisir la couleur de fond qui correspond à la condition. Valider
sur la fenêtre Format Conditionnels clicquez sur Ajouter et suivre la même procédure
La valeur de la cellule/ est inférieure à/ =B2
re-bouton format choisir deuxième couleur et valider le tout
Voilà le tour est joué!!!