Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment obtenir le nom de ColorIndex?

7 réponses
Avatar
Emile63
Bonjour a tous,
Je souhaiterais ajouter par VBA dans le commentaire de la cellule
s=E9l=E9ction=E9e le nom (et no son num=E9ro) de sa couleur.
J'ai essay=E9 avec quelque chose comme =E7a:
(ActiveCell.Interior.ColorIndex.Name).
Mais, =E9videmment =E7a marche pas... ;-)
-Est-ce que quelqu'un =E0 une solution pour moi?
Je vous remercie d'avance pour votre aide,
Cordialement,
Emile

7 réponses

Avatar
Modeste
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

@+
Avatar
Emile63
On 22 mayo, 10:15, Emile63 wrote:
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
Avatar
Emile63
On 22 mayo, 10:15, Emile63 wrote:

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
Avatar
MichDenis
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" a écrit dans le message de groupe de discussion :

On 22 mayo, 10:15, Emile63 wrote:

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
Avatar
Emile63
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
Avatar
MichDenis
| 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!
Avatar
Emile63