Comment obtenir le nom de ColorIndex?

Le
Emile63
Bonjour a tous,
Je souhaiterais ajouter par VBA dans le commentaire de la cellule
séléctionée le nom (et no son numéro) de sa couleur.
J'ai essayé avec quelque chose comme ça:
(ActiveCell.Interior.ColorIndex.Name).
Mais, évidemment ça marche pas ;-)
-Est-ce que quelqu'un à une solution pour moi?
Je vous remercie d'avance pour votre aide,
Cordialement,
Emile
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Modeste
Le #19386901
Bonsour® Emile63 avec ferveur ;o))) vous nous disiez :

Je souhaiterais ajouter par VBA dans le commentaire de la cellule
séléctionée le nom (et no son numéro) de sa couleur.



il y a 16 millions et des ... de couleurs différentes possibles via la fonction RGB(Rouge(0-255),Vert(0-255),Bleu(0-255))
un millier seulement possédent un nom reconnu.
La palette Excel n'utilise que 56 couples RGB parmi ces 16 millions et des...
Le N° de ColorIndex ne permet pas d'identifier sans équivoque le nom de la couleur correspondante...
!!!! SEUL LE CODE RGB !!!!
permet a l'aide d'une table d'en reconnaitre certains.

les palettes peuvent etre modifiées, transformées, réorganisées selon les désirs de l'utilisateur

via VBA seules 8 couleurs sont parfaitement connues en tant que constantes, il s'agit de
vbBlack, vbWhite, vbRed, vbBlue, vbGreen, vbCyan, vbYellow, vbMagenta

Beaucoup de litérature à ce sujet :
http://www.mvps.org/dmcritchie/excel/colors.htm

http://excelabo.net/trucs/couleur_de_fond
http://www.excelabo.net/clic?fichier=pe-nomcouleur
attention ces procédures ne sont pas fiables si la palette a été modifiée

autres infos :
http://www.excelabo.net/clic?fichier=gd-xlcolors

http://www.cijoint.fr/cjlink.php?file=cj200905/cijUNSyRee.zip
sous Excel accés en affichage aux 16 millions de couleurs (1400 noms de couleurs répertoriés)
avec leur équivalences RGB <=> HSL (Teinte, Raturation, Luminosité)
avertissement !!!
ce fichier n'a été testé que sur Excel2002 et est trés lent et gourmand en ressources

@+
Emile63
Le #19387281
On 22 mayo, 10:15, Emile63 Bonjour Modeste et merci pour ton aide.
Effectivement ma question manque un peu de précision. :-)
Je fait référence aux 48 couleurs dont le nom apparait en toute lettre
quant l'on passe la souris dans le menu / bouton:
couleur de remplissage
Emile63
Le #19387531
On 22 mayo, 10:15, Emile63
Merci Modeste pour ces liens et explications.
Si j'ai bien compris, je pourrais m'en sortir avec quelque chose dans
le style de Select case..

avec :
les constantes,vbBlack, vbWhite, vbRed, vbBlue, vbGreen, vbCyan,
vbYellow, vbMagenta
case vbBlack
etc, jusqu'à,
case Else: "Les couleurs non reconnues"
End select
MichDenis
Le #19387811
Pourquoi te limiter à ces couleurs ?

Dans un module standard, tu crées ce type de procédure :

'Déclaration de la variable dans le haut du module standard
Public MesCouleurs(1 To 56)
'----------------------------------------
Sub Couleur()

For A = 1 To 56
Select Case A
Case 1
MesCouleur(A) = "Blanc"
Case 2
'Nom des couleurs dans la fenêtre
'des couleurs...
MesCouleur(A) = "Jaune"
Case 3
MesCouleur(A) = "Orange-brulé"
'Pour toutes les couleurs dont tu as le nom
Case 56
MesCouleur(A) = "Gris-bleu"
End Select
Next
End Sub
'----------------------------------------
Pour définir la couleur, tu dois le faire manuellement avec
la couleur affichée lorsque tu passes la souris sur ladite
couleur dans la fenêtre des couleurs.

Tu vas obtenir une variable "MesCouleurs" du type tableau.
À chaque fois que tu désireras obtenir le nom d'une couleur
en particulier, tu n'auras qu'à passer cette ligne de code :
x = MesCouleurs(i) i = le colorindex que tu désires.

Tu peux appeler cette procédure à partir de la procédure événementielle
Workbook_Open du ThisWorkbook.

Tout ceci n'est viable que si la palette des couleurs n'est pas modifiée.



"Emile63"
On 22 mayo, 10:15, Emile63
Merci Modeste pour ces liens et explications.
Si j'ai bien compris, je pourrais m'en sortir avec quelque chose dans
le style de Select case..

avec :
les constantes,vbBlack, vbWhite, vbRed, vbBlue, vbGreen, vbCyan,
vbYellow, vbMagenta
case vbBlack
etc, jusqu'à,
case Else: "Les couleurs non reconnues"
End select
Emile63
Le #19413901
Merci Michel pour ton aide, je vais tester tous ça ;-)

A ton avis, est-ce qu'il y a une possibilité (par curiosité) de
récupérer les noms qui aparaissent lorqu'on promèna la souris sur les
icônes du déroulant des couleur?

Cordialement,
Emile
MichDenis
Le #19414051
| A ton avis, est-ce qu'il y a une possibilité (par curiosité) de
| récupérer les noms qui aparaissent lorqu'on promèna la souris sur les
| icônes du déroulant des couleur?

Bien sûr, en utilisant tes yeux et tes doigts!
Publicité
Poster une réponse
Anonyme