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 :
Voilà, je remercie d'avance celui qui saura me dire où je me suis planté
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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![]()
Partager