Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2978 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Code couleur en VBA (boutons etc)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Code couleur en VBA (boutons etc)

n°2116831
snipecmoil​eretour
Posté le 15-12-2011 à 18:04:59  profilanswer
 

Bonsoir à vous,
 
j'ai un soucis sur lequel je bloque depuis quelques heures et dont je n'arrive pas à trouver la solution moi même.
En gros dans ma macro j'ai un bouton dont la backcolor a été changé en vert RGB (0,255,0) après une action, et en faisant une autre action j'aimerai le faire revenir à sa couleur par défaut, le gris de base (qui est notée &H8000000F& dans mon éditeur). Le soucis c'est que je ne comprend pas la manière de fonctionner de la chose ! En effet 8000000F n'est pas un code hexa pour une couleur !
Bref je ne comprend pas par quel moyen je peux remettre mon bouton à sa couleur par défaut !
j'ai eu le même soucis quand j'ai voulu mettre le bouton à vert, dans l'éditeur si je choisi le vert dans la palette j'ai &H0000FF00&
le code Hexa de mon vert étant 00FF00 je ne comprend vraiment pas la manière dont l'éditeur de macro excel code ses couleurs...
 
merci d'avance pour votre aide


---------------
Mon Feedback  | galerie Photo
mood
Publicité
Posté le 15-12-2011 à 18:04:59  profilanswer
 

n°2116880
billgatesa​nonym
Posté le 15-12-2011 à 23:15:50  profilanswer
 

C'est un piège dans lequel je suis tombé, et d'autres aussi.
 
Excel a été créé il y a très longtemps, en s'inspirant de logiciels encore plus anciens. A l'époque, les triplets d'octets RGB n'existaient pas encore. On utilisait des écrans monochrome (ambre ou vert) ou bien des écrans avec des cartes graphiques pas encore très standardisées. Bref, Excel a commencé à géré les couleurs par le truchement d'une "palette".
 
C'est compliqué à expliquer. Mais il y a une excellente page où tout est présenté clairement : http://dmcritchie.mvps.org/excel/colors.htm .

n°2116884
snipecmoil​eretour
Posté le 16-12-2011 à 00:29:50  profilanswer
 

Merci pour le lien !
par contre je crois que je n'ai pas encore tout compris.
 
à un moment il met un exemple :
 
Selection.Interior.Color = &Hc8efac8
 
à quoi correspond cette couleur &Hc8efac8 je ne trouve aucune correspondance dans aucune des tables au dessus :(


---------------
Mon Feedback  | galerie Photo
n°2116913
billgatesa​nonym
Posté le 16-12-2011 à 11:39:43  profilanswer
 

Bien vu !
 
Il y a une coquille. En fait, il voulait dire &Hc8fac8, sans le "e", car c'est ce que l'on obtient en convertissant la ligne précédente qui indique RGB(200, 250, 200), puisque 200 est c8 en hexa, 250 est fa.
 
Une chose qui peut perturber, c'est que la couleur est en réalité stockée sur 4 octets, et non pas sur 3 octets. Pour un nombre positif, on peut compléter par deux zéros devant, si on veut (ce n'est pas obligatoire, c'est fait par défaut). Pour un nombre négatif, il faudrait compléter par deux F devant.
 
Edit : Le gris d'Excel a le numéro 15 dans la palette, qui est F en hexadécimal. Donc, je crois que c'est pour ça que vous avez vu &H8000000F& . Pour le 8 du début, je n'ai pas d'explication, je ne sais pas. En tous cas, si on veut du gris, on peut dire ...ColorIndex = 15 ou ...Color = RGB(192, 192, 192).


Message édité par billgatesanonym le 16-12-2011 à 11:55:37
n°2116923
snipecmoil​eretour
Posté le 16-12-2011 à 12:39:23  profilanswer
 

merci encore pour ton aide :)
en fait le gris RGB(192, 192, 192) est un peu plus foncé que le gris par défaut
j'ai dû ruser en passant par une case excel que j'ai mis de la même couleur puis je suis allé dans "plus de couleurs" dans la mise en forme de la cellule. Là j'ai pî voir que le gris "standard" des boutons est en fait un RGB(216, 216, 216)


Message édité par snipecmoileretour le 16-12-2011 à 12:41:13

---------------
Mon Feedback  | galerie Photo
n°2266647
wire less
Posté le 29-09-2015 à 09:04:35  profilanswer
 

Le code Excel VB suivant :   &H8000000F&  
à l'aide d'un logiciel de dessin et de l'outil "pipette"  Le résultat en RGB est : (212,208,200)
R:212  
G:208
B:200
A+


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Code couleur en VBA (boutons etc)

 

Sujets relatifs
[PERL] Erreure dans code. Algo?VBA importation fichiers TXT
[VBA Excel] Problème vlookup ne rappatriant que des zéros (RESOLU !)VBA Exel problème copie feuille
Select Case en VBA : question de débutantCalcul de la valeur actuelle avec VBA
Calcul financiers avec VBA excelBluegriffon - probleme de code
[C#] erreur dans le code[VBA Outlook] Est-ce possible ? Creer une "application" outlook
Plus de sujets relatifs à : Code couleur en VBA (boutons etc)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR