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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA Excel - Retrouver RGB à partir de ColorIndex

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA Excel - Retrouver RGB à partir de ColorIndex

n°1285653
jipo
Kamoulox !
Posté le 17-01-2006 à 16:16:02  profilanswer
 

On peut fixer une couleur de la palette du classeur en faisant
.Color = RGB (R, G, B)
Mais peut obtenir les composantes RGB à partir de .Color ?
 
Je donne ma langue au tchat ...


---------------
"Comme des pommes d'or sur des ciselures d'argent, Ainsi est une parole dite à propos" (Proverbes de Salomon)
mood
Publicité
Posté le 17-01-2006 à 16:16:02  profilanswer
 

n°1285921
olivthill
Posté le 17-01-2006 à 20:01:30  profilanswer
 

Voici une petite fonction maison pour faire cela.
(Noter l'antislash à la place du slash pour avoir une division sans arrondi)

Sub show_col()
    c = Cells(1, 1).Interior.Color
    bleu = c \ 65536
    vert = (c - bleu * 65536) \ 256
    rouge = c - bleu * 65536 - vert * 256
    MsgBox (rouge & ", " & vert & ", " & bleu)
End Sub

n°1320205
Emcy38
Posté le 07-03-2006 à 14:49:28  profilanswer
 

ça ne marche pas ta solution => essaye avec la couleur de fond d'un bouton....

n°1320351
tegu
Posté le 07-03-2006 à 17:11:52  profilanswer
 

En admettant que sa fonction soit correcte (j'ai pas détaillé mais ça me semble bon), je pense que le problème vient du fait que les boutons et autres objets n'ont pas de couleur RGB mais une couleur indexée sur la palette système.
Cela permet de changer la couleur en modifiant les paramètres d'apparence de windows notamment.

n°1442167
kurisutofu​jp
Posté le 14-09-2006 à 08:13:11  profilanswer
 

Ca marche tres bien.
 
Comme l'a precisé olivthill, il ne faut pas oublier de faire les operation avec un "\" et non avec un "/" (sinon, faire un cast des valeur en int. par exemple bleu = Int(c / 65536) )


Message édité par kurisutofujp le 14-09-2006 à 10:03:54
n°1442798
kiki29
Posté le 15-09-2006 à 06:41:38  profilanswer
 

 

 
    Dim CoulRVB As Long
    Dim Bleu As Integer
    Dim Vert As Integer
    Dim Rouge As Integer
 
    CoulRVB = ActiveCell.Interior.Color
 
    Rouge = Int(CoulRVB Mod 256)
    Vert = Int((CoulRVB Mod 65536) / 256)
    Bleu = Int(CoulRVB / 65536)


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

  VBA Excel - Retrouver RGB à partir de ColorIndex

 

Sujets relatifs
vba excel: problème de compatibilité sur différents postes de travail[VBA] Capacité à manipuler des String ?
[excel] application automatique d'une macro à une caseIgnorer les messages de confirmation (VBA Excel)
[VBA EXCEL 2003]Lister les noms des dossiers d'un repertoire > listboxexcel : fonction pour effacer le contenu d'une cellule
partir le code VBA d'un bouton d'un formulaire access 
Plus de sujets relatifs à : VBA Excel - Retrouver RGB à partir de ColorIndex


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