[VBA] récupérer la couleur RGB d'une police dans un cellule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

F22Raptor

XLDnaute Impliqué
Hello
Je voudrais récupérer (pour l'utiliser ensuite ailleurs) la couleur RGB des caractères dans une cellule.
J'ai essayé pas mal de combinaisons du type MsgBox Activecell.Font.Color.RGB mais sans succès ...

Une idée ? 🙂
 
Re : [VBA] récupérer la couleur RGB d'une police dans un cellule

trouvé ! Il faut d'abord convertir en code hexadécimal :

Dim CouleurHexa, r, g, b
CouleurHexa = Hex(ActiveCell.Font.Color)


r = Val("&H" & Mid(CouleurHexa, 1, 2))

g = Val("&H" & Mid(CouleurHexa, 3, 2))

b = Val("&H" & Mid(CouleurHexa, 5, 2))

MsgBox r & vbTab & g & vbTab & b
 
Re : [VBA] récupérer la couleur RGB d'une police dans un cellule

Bonjour,

une autre approche, code de MichelXLD🙂

Code:
Dim Couleur As Long, Rouge As Integer, Vert As Integer, Bleu As Integer
Couleur = ActiveCell.Font.Color
Rouge = Int(Couleur Mod 256)
Vert = Int((Couleur Mod 65536) / 256)
Bleu = Int(Couleur / 65536)

bon après midi
@+
 
Re : [VBA] récupérer la couleur RGB d'une police dans un cellule

trouvé ! Il faut d'abord convertir en code hexadécimal :

Dim CouleurHexa, r, g, b
CouleurHexa = Hex(ActiveCell.Font.Color)

Plutôt
r = Val("&H" & Mid(CouleurHexa, 5, 2))
g = Val("&H" & Mid(CouleurHexa, 3, 2))
b = Val("&H" & Mid(CouleurHexa, 1, 2))

MsgBox r & vbTab & g & vbTab & b

Car la pondération hexadécimale met les poids faibles à droite (Rouge)
les poids lourds à gauche (bleu)
🙄
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour