Tester couleur RGB d'une cellule Excel

dam12345678 - 4 févr. 2013 à 13:55
cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
- 6 févr. 2013 à 11:24
Bonjour tout le monde,
Après de longuuuuuuues recherches sur le net dans toutes les langues possibles et imaginables (ou presque), j'en viens à poser la question ici: "Est-il possible de tester la couleur RGB de remplissage d'une cellule?". Je m'y suis +/- essayé mais sans succès.

Voici donc mes codes pour plus de précision:

Public Function TestCouleur(Cellule As Range)
Application.Volatile
Couleur =  Cellule.Font.color
End Function

ou
Public Function TestCouleur(Cellule As Range)
Application.Volatile
Couleur =  Cellule.Interior.color
End Function


Appel de la fonction:
=SI(TestCouleur(G16)=ValeurDecCouleur ou CelluleAvecValeurDec;"oui";"non")



Malheureusement, à chaque fois, il m'affiche "non" même si toute la condition est juste. Voir le fichier joint pour plus d'infos...


Merci à tout ceux qui me donneront un coup de pouce là-dessus
damiens12345678

9 réponses

cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
4 févr. 2013 à 14:10
Salut

Essaye ceci :
Couleur = Cellule.Interior.color
MsgBox Right$("000000" & Hex(Couleur), 6)
Je pense (à vérifier) que les octets affichés sous formes hexa (3 groupes de 2 caractères hexa) correspondent aux 3 couleurs RVB, mais dans l'ordre BVR.
Blanc : FF FF FF
Noir : 00 00 00
Rouge : 00 00 FF
Vert : 00 FF 00
Bleu : FF 00 00

Pour convertir de l'hexa en décimal (Long) :
ValeurDécimale = Val("&H" & CodeHexa)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on le partage (Socrate)
0