VBA Excel 2003 colorier cellule RGB

VBA Excel 2003 colorier cellule RGB - VB/VBA/VBS - Programmation

Marsh Posté le 10-01-2011 à 11:21:33    

Salut @ tous,
 
Je souhaite faire une mise en forme conditionnelle dans excel 2003 à la mode excel 2007. C'est a dire une mise en forme qui colorie les cases de façon a faire une nuance de couleur. tout ce qui est négatif passe du vert (0;255;0) au jaune (255;255;0) et tout ce qui est positif passe du jaune au rouge (255;0;0)
 
J'ai déjà écrit cela qui fonctionne correctement (sans doute ca n'est pas le plus efficace mais ca me convient)
 

Code :
  1. Sub conditionnelle()
  2.     Dim min As Double, max As Double, rouge As Double, vert As Double, bleu As Long, val As Double, plage As Range
  3.    
  4.     Set plage = Range("A1: a50" )
  5.        
  6.     min = Application.WorksheetFunction.min(plage)
  7.     max = Application.WorksheetFunction.max(plage)
  8.        
  9.     rouge = Abs(255 / max)
  10.     vert = Abs(255 / min)
  11.     bleu = 0
  12.        
  13.     For Each c In plage
  14.    
  15.     val = c.Value
  16.    
  17.     If val < 0 Then
  18.         c.ForeColor = RGB(255 + val * vert, 255, 0)
  19.     Else
  20.         c.Interior.Color = RGB(255, 255 - val * rouge, 0)
  21.     End If
  22.    
  23.     Next
  24.    
  25. End Sub


 
le problème est que je n'arrive pas à obtenir les couleurs souhaitées, a chaque fois excel utilise une de ses 56 couleurs prédéfinies.
 
Comment faire pour colorier une case suivant une vrai couleur RGB.
 
Merci et @+

Reply

Marsh Posté le 10-01-2011 à 11:21:33   

Reply

Marsh Posté le 02-02-2011 à 17:41:28    

excel 2003 ne gère que les 56 couleurs en question... tu auras beau lui donner le code RGB, il affichera la couleur la plus proche de celle demandée parmis les 56 ...
avec excel 2007 par contre, il y a des chances pour que ça marche !

Reply

Marsh Posté le 02-02-2011 à 20:27:21    

Salut,pour info : 1596 couleurs dans excel, c'est possible voir http://www.excelabo.net/exemples/gd-1596couleurs


Message édité par kiki29 le 02-02-2011 à 20:56:08
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed