Modiffication du fond d'une cellule
Bonsoir,
je suis sous Excel 2010. J'ai un tableau à 6 colonnes contenant un 4000 lignes de nombres (principalement décimaux) compris entre 0 et 200.
Le but du script est de colorer chaque cellule en fonction du nombre qu'elle contient en calculant la couleur que la cellule va prendre.
La couleur varie du rouge (255,0,0) au vert (0,255,0) en passant par le jaune. Le problème est que dès la 2ème ligne du fichier, la macro plante et ne peut pas colorer la cellule (erreur : "La méthode Color de l'objet Interior a échoué").
J'avoue ne pas comprendre pourquoi car les variables couleurG et couleurR sont bien des Integer compris entre 0 et 255 !
Le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
Sub degrade()
Dim j As Integer
j = 1
Dim couleurR As Integer, couleurG As Integer
While Range("F" & j).Value <> ""
Dim deltaexp As Integer
deltaexp = 200
Dim exp As Single
exp = Range("F" & j).Value
Dim ration As Double
ration = exp / deltaexp
If (ration <= 1/2) Then
couleurR = 255
couleurG = CInt(ration * 255 / 0.5)
Else
couleurR = CInt(510 * (0.5 - ration) + 255)
couleurG = 255
End If
Range("F" & j).Interior.Color = RGB(couleurR, couleurG, 0)
i = i + 1
Wend
End Sub |
Voilà, je remercie d'avance celui qui saura me dire où je me suis planté ;)