Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Noms des couleurs

16 views
Skip to first unread message

pom...pom...pom..

unread,
May 10, 2018, 6:53:17 PM5/10/18
to
Bonsour®
je fais appel aux anciens,
je re-cherche un programme de Daniel Maher ou Michel Pierron qui à l'aide d'une
API listait les noms respectifs des couleurs de la palette standard.
les noms qui apparaissent dans l'info-bulle lors du survol de la couleur dans la
boite de dialogue choix de couleur.
Depuis XL2007 ces noms sont remplacés par les infos propres aux thèmes... :-(
merci d'avance

Jacquouille

unread,
May 11, 2018, 4:03:49 AM5/11/18
to
Salut Gilbert

Content d'avoir de tes nouvelles et de constater que tu as bloqué toute ta
palette sur "la vie en rose". -))

As-tu été voir chez Misange? il reste encore quelques trucs.

Si tu ne trouves pas, je peux te faire une copie d'écran de la palette avec
le nom des couleurs qui vient dans une fenêtre "commentaire";
De là, tu referas assez facilement le truc du survol.
profite qu'il y a du flottement chez Air France et Bruxelles Air Line ...

Bien à toi
Bise à Pompon


Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"pom...pom...pom.." a écrit dans le message de groupe de discussion :
pd2igp$14lc$1...@gioia.aioe.org...

Péhemme

unread,
May 11, 2018, 4:16:59 AM5/11/18
to
Bonjour Gilbert,

J'ai bien "un truc" qui liste les couleurs (en couleur), leur colorindex et
leur code RBG, mais rien donnant un nom particulier à chacune des 56
couleurs et pas, non plus, d'info-bulles.

Cela peut-il t'avancer ?

Bien amicalement
Michel


"pom...pom...pom.." a écrit dans le message de groupe de discussion :
pd2igp$14lc$1...@gioia.aioe.org...

Michd

unread,
May 11, 2018, 6:12:04 AM5/11/18
to
Bonjour,

Pour la liste des couleurs : (en anglais)
https://github.com/ClosedXML/ClosedXML/wiki/Excel-Indexed-Colors

Pour savoir comment les utiliser, un clic sur le lien hypertexte "Using Colors" dans le haut de la
page.

Pour retrouver leur nom à l'aide d'API, j'ai peut-être cela dans ma banque de procédures et
fonctions... Je vais voir si je ne retrouve pas cela!

MichD


Michd

unread,
May 11, 2018, 6:56:15 AM5/11/18
to
Liste des noms des couleurs de la palette de couleurs :

x = 1, "Noir",
x = 2, "Blanc",
x = 3, "Rouge",
x = 4, "Vert brillant", _
x = 5, "Bleu",
x = 6, "Jaune",
x = 7, "Rose",
x = 8, "Turquoise", _
x = 9, "Rouge foncé",
x = 10, "Vert",
x = 11, "Bleu foncé",
x = 12, "Marron clair", _
x = 13, "Violet",
x = 14, "Bleu-vert",
x = 15, "Gris-25%", _
x = 16, "Gris-50%",
x = 33, "Bleu ciel",
x = 34, "Turquoise clair", _
x = 35, "Vert clair",
x = 36, "Jaune clair", _
x = 37, "Bleu moyen",
x = 38, "Rose saumon",
x = 39, "Lavande", _
x = 40, "Brun",
x = 41, "Bleu clair",
x = 42, "Vert d'eau",
x = 43, "Citron vert", _
x = 44, "Or",
x = 45, "Orange clair",
x = 46, "Orange",
x = 47, "Bleu-gris", _
x = 48, "Gris-40%",
x = 49, "Bleu-vert foncé", _
x = 50, "Vert marin",
x = 51, "Vert foncé",
x = 52, "Vert olive", _
x = 53, "Marron",
x = 54, "Prune",
x = 55, "Indigo", _
x = 56, "Gris-80%"



MichD

Michd

unread,
May 11, 2018, 8:26:11 AM5/11/18
to
Voici un fichier publié par "mimi" capable d'extraire la valeur hexadécimale de la couleur de la
cellule ou de l'objet sur lequel le curseur se pose : https://www.cjoint.com/c/HElmpVHXH8i

Dans le fichier : un clic sur le bouton -> afficher la boîte de dialogue
Dans le bas du formulaire, cochez la petite case à cocher et il ne reste plus qu'à pointer le
curseur de la souris sur la surface de son choix pour en extraire la valeur hexadécimale.

J'ai d'autres fichiers avec des variantes légèrement différentes, mais je n'ai pas retrouvé la
fonction de Michel Perron capable de récupérer directement le nom des couleurs de base d'Excel.

MichD

N.B. Jacquouille, comme le fichier est .xls, cela devrait fonctionner chez toi!
;-)

LSteph

unread,
May 11, 2018, 8:36:06 AM5/11/18
to
Bonjour,
Une piste:
j'ai bien trouvé un truc payant qui te permettrait de faire le chemin à l'envers
https://www.toutes-les-couleurs.com/nuancier-ral.php#ral-book
en cherchant un peu tu devrais trouver du gratuit
Dans l'idée:
la peinture la photo et l'industrie utilisent différentes codifs et des outils informatiques. Du coup certains outre le RAL ou autre associent certainement des RGB à leurs palettes les plus évoluées. Tu n'aurais "plus qu' à" constituer toi m^me ta table Excel.

Cordialement.

--
LSteph

Jacquouille

unread,
May 11, 2018, 8:46:11 AM5/11/18
to
Merci Denis d'avoir pensé à moi.

Je vais postuler avec mon 2003 pour figurer au musée des chefs d'œuvres en
péril. -))

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Michd" a écrit dans le message de groupe de discussion :
pd4250$1dmc$1...@gioia.aioe.org...

Jacquouille

unread,
May 11, 2018, 8:52:22 AM5/11/18
to
Et il fonctionne bien !
Le must serait d'avoir le RGB qui apparait en "commentaire" lors du passage
de la souris ....

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Michd" a écrit dans le message de groupe de discussion :
pd4250$1dmc$1...@gioia.aioe.org...

Michd

unread,
May 11, 2018, 9:46:10 AM5/11/18
to
Comme tu dis, lors d'un passage au-dessus d'un objet, dans le formulaire, tu as la décomposition de
la couleur pour le rouge, bleu et vert et la valeur correspondante en hexadécimal. C'est déją pas
mal!

MichD


Michd

unread,
May 11, 2018, 10:08:14 AM5/11/18
to
Bonjour à tous,

À cette adresse,
http://www.ralcolor.com
tu as la liste des 200 couleurs disponibles avec leur nom en plusieurs langues.
Tu colles la palette de couleurs du site dans une plage de cellules du fichier que j'ai publié et tu
obtiens directement la valeur hexadécimale (RGB) de la couleur. Dans le fichier, tu n'a qu'à
modifier la procédure VBA "Lancer" en ajoutant 0 à cette ligne de code comme suit :
Userform1.Show 0

Pom...Pom...Pom...va nous écrire une fonction renversante à partir du code de ce fichier et des 200
couleurs disponibles. Dommage on est encore loin des couleurs disponibles dans Excel (2 à la
puissance 32). ;-))

MichD

LSteph

unread,
May 11, 2018, 10:10:59 AM5/11/18
to
...suite
tu peux trouver cela en suivant 26 pages dont 2 ou trois colonnes peuvent t'intéresser.
http://www.code-couleur.com/dictionnaire/couleur-a.html
Faut juste trouver le temps...

Amitiés aux anciens.

--
LSteph

pom...pom...pom..

unread,
May 11, 2018, 10:25:35 AM5/11/18
to
Bonsour®

Belle brochette d'anciens combattants .... ;-)
merci de votre sollicitude.
Je n'ai pas de souci avec la gestion des couleurs, vous vous en doutiez un peu
;-)
ma préoccupation actuelle vient de l'utilisation des thèmes et de la propriété
TintAndShade qui semble-t-il ne s'appliquent qu'a des palettes 56 couleurs
qui reste pour moi quelque peu hermétique ???

je recherche bien une fonction personnalisée (peut-etre crée par quelqu'un
d'autre que les 2 illustres membres cités précédemment)
cette fonction utilisait une API et restituait le nom de la couleur telle que
survolée dans le "ColorPicker"(info-bulle)

je pourrai facilement créer une fonction similaire en intégrant un array
contenant les 56 dénominations par défaut (ActiveWorkbook.Colors.Reset).
Fonctionnel pour XL2003, mais ce n'est plus en cohérence avec l'utilisation des
thèmes XL2007

Pour vous remercier et vous encourager dans la cette recherche,
un état de mes pérégrinations colorées ;-)

https://cjoint.com/c/HEln2Ms42Od


pom...pom...pom..

unread,
May 11, 2018, 7:23:30 PM5/11/18
to
Bonsour® Denis
oupsss! denis .... ! il manque les index 17 à 32

je ne possède plus XL2003 et ne peut donc confirmer les noms

pour info cette proc avait été initialisée par ChrisV MPFE 13/08/2002


"Michd" a écrit dans le message de groupe de discussion :
pd3ssd$141u$1...@gioia.aioe.org...

Michd

unread,
May 11, 2018, 8:17:27 PM5/11/18
to
Voici une liste de noms de 410 couleurs et leur valeur décimale à placer dans le haut d'un module
standard. En utilisant la propriété "Color" des objets ou des cellules, dans le bas de message, j'ai
donné un exemple, comment utiliser ceci. Liste de couleurs du site suggéré par LSteph

'La valeur décimale des noms des couleurs
Public Enum Color
Abricot = 3178214
Absinthe = 5037439
Acajou = 1917576
Aigue_Marine = 16316537
Aile_de_corbeau = 0
Albâtre = 16711422
Alezan = 2516903
Amande = 7128194
Amarante = 3877008
Ambre_jaune = 50160
Ambre_rouge = 932269
Améthyste = 10964360
Anthracite = 3158064
Aquilain = 610221
Ardoise = 7036506
Argent = 13553358
Argile = 15724527
Asperge = 6004859
Aubergine = 2621495
Auburn = 802461
Aurore = 6343679
Avocat = 229974
Azur_héraldique = 13336350
Azur = 15847540
Azurin = 16706217
Baillet = 2974894
Banane = 440017
Basané = 4353163
Beige = 8367560
Beigeasse = 8103855
Beurre = 8103855
Beurre_frais = 9303295
Bis = 6582134
Bisque = 12903679
Bistre = 5074309
Bitume = 2637134
Blanc = 16777215
Blanc_cassé = 14876414
Blanc_crème = 12120573
Blanc_d_argent = 16711422
Blanc_d_Espagne = 15793662
Blanc_de_céruse = 16711422
Blanc_de_Chine = 16777215
Blanc_de_lait = 16448763
Blanc_de_Meudon = 15793662
Blanc_de_plomb = 16711422
Blanc_de_Troyes = 15793662
Blanc_de_zinc = 16711414
Blanc_lunaire = 16711412
Blanc_neige = 16711422
Blanc_Bleu = 16711422
Blé = 3200744
Blet = 1129563
Bleu_cyan_ou_bleu_primaire = 16711680
Bleu_acier = 12226106
Bleu_ardoise = 9203560
Bleu_azur = 13336350
Bleu_barbeau = 11432532
Bleu_bleuet = 11432532
Bleu_canard = 10128132
Bleu_céleste = 15516710
Bleu_cérule = 12024373
Bleu_céruléen = 12024373
Bleu_charrette = 13017742
Bleu_charron = 13017742
Bleu_ciel = 16692599
Bleu_cobalt = 8143394
Bleu_d_Anvers = 6046756
Bleu_de_cobalt = 8143394
Bleu_de_France = 15174705
Bleu_de_minuit = 6697728
Bleu_de_Prusse = 6046756
Bleu_des_mers_du_sud = 13356032
Bleu_dragée = 16773855
Bleu_électrique = 16741676
Bleu_France = 15174705
Bleu_fumée = 14799547
Bleu_givré = 13684864
Bleu_guède = 10122070
Bleu_hussard = 6046756
Bleu_Klein = 8197921
Bleu_lavande = 15500182
Bleu_Majorelle = 14438496
Bleu_marine = 4989443
Bleu_minéral = 6046756
Bleu_nuit = 7013647
Bleu_outremer = 10158363
Bleu_paon = 9467654
Bleu_persan = 16711782
Bleu_pétrole = 5326877
Bleu_roi = 15174705
Bleu_roy = 15174705
Bleu_saphir = 11809025
Bleu_sarcelle = 9342464
Bleu_turquin = 9067330
Bleu_turquoise = 15334693
Blondeur = 7650530
Blond_vénitien = 5548263
Bordeaux = 1705837
Bourgogne = 855403
Bouton_d_or = 1236220
Brun = 1129563
Bureau = 3233643
Brique = 1781380
Bronze = 1724001
Brou_de_noix = 270911
Brun_clair = 4163021
Caca_d_oie = 904653
Cacao = 3820385
Cachou = 793391
Caeruléum = 15516710
Café = 77382
Café_au_lait = 3104376
Cannelle = 3496062
Capucine = 5070591
Caramel = 13182
Carmin = 1573014
Carnation = 11322366
Carné = 11322366
Carotte = 1795828
Cassis = 852538
Céladon = 9938563
Cerise = 723899
Céruléen = 12024373
Chair = 11322366
Chamois = 8044752
Champagne = 12055291
Charbonneux = 1048576
Châtaigne = 5926272
Châtain = 4353163
Chaudron = 1004421
Chenu = 16711422
Chocolat = 2243162
Cinabre = 137179
Citron = 3997687
Citrouille = 1338847
Clarissimo = 7779001
Claro = 3889796
Claro_claro = 6396858
Colombin = 6112618
Colorado = 1455472
Colorado_claro = 2181994
Coquelicot = 2246
Coquille_d_oeuf = 14739965
Corail = 81639
Cramoisi = 1573014
Crème = 12120573
Cuisse_de_nymphe = 15788030
Cuisse_de_nymphe_émue = 11823615
Cuivre = 26547
Cyan_clair = 16776960
Denim_ = 12410901
Dorian = 1447435
Double_claro = 6396858
Denim = 0
Écarlate = 237
Écru = 14745342
Émeraude = 5822209
Étain_oxydé = 12237498
Étain_pur = 15592941
Fauve = 610221
Fer = 8684676
Feu_vif = 84479
Feuille_morte = 2838937
Flave = 9955046
Fleur_de_soufre = 7077887
Fraise = 3158207
Fraise_écrasée = 2368676
Framboise = 4730055
Fuchsia = 9584637
Garance = 1052910
Glauque = 8952676
Glycine = 14459081
Grège = 10006203
Grenadine = 4143337
Grenat = 1313646
Gris = 6316128
Gris_acier = 11513775
Gris_anthracite = 3158064
Gris_de_lin = 15518418
Gris_de_maure = 4415080
Gris_de_Payne = 7958887
Gris_fer = 8355711
Gris_fumée = 14799547
Gris_perle = 13553358
Gris_plomb = 8487033
Gris_souris = 10395294
Gris_taupe = 3292998
Gris_tourdille = 11648961
Gris_tourterelle = 11316411
Groseille = 1903311
Gueules = 1903311
Havane = 6324116
Héliotrope = 16741343
Hoto = 0
Incarnadin = 10524414
Incarnat = 8220671
Indigo = 16260217
Isabelle = 3104376
Ivoire = 13959167
Jade = 9496967
Jais = 0
Jaune = 65535
Jaune_auréolin = 4379375
Jaune_banane = 440017
Jaune_bouton_d’or = 1236214
Jaune_canari = 913639
Jaune_citron = 3997687
Jaune_d_or = 514287
Jaune_de_chrome = 851949
Jaune_de_Mars = 5493230
Jaune_de_Naples = 12382463
Jaune_fleur_de_soufre = 7077887
Jaune_impérial = 3597567
Jaune_maïs = 7724799
Jaune_mimosa = 7141630
Jaune_moutarde = 53191
Jaune_nankin = 6939383
Jaune_paille = 4711422
Jaune_soufre = 7077887
Kaki = 2851220
Lapis_lazuli = 10248486
Lavallière = 2251151
Lavande = 15500182
Lie_de_vin = 4464300
Lilas = 13788854
Lin = 15134970
Maduro = 2436919
Magenta = 16711935
Magenta_fushia = 7536859
Magenta_foncé = 8388736
Maïs = 7724799
Malachite = 5611551
Mandarine = 4695038
Marine = 4989443
Marron = 10584
Mastic = 9548211
Mauve = 7959508
Melon = 1480926
Menthe = 5158934
Menthe_à_l_eau = 9304404
Miel = 701402
Mordoré = 1726855
Moreau = 0
Moutarde = 53191
Nacarat = 6118908
Nankin = 6939383
Neige = 16711422
Noir = 0
Noir_animal = 0
Noir_charbon = 1048576
Noir_d_aniline = 1445138
Noir_d_encre = 0
Noir_d_ivoire = 0
Noir_de_carbone = 658963
Noir_de_fumée = 658963
Noir_de_jais = 0
Noiraud = 925231
Noisette = 2643605
Ocre_rouge = 6068445
Ocre_jaune = 2928607
Olive = 2329968
Opalin = 16777202
Or_jaune = 55295
Orange = 1081325
Orange_brûlée = 21964
Orchidée = 14053594
Orpiment = 1889020
Orpin_de_Perse = 1889020
Oscuro = 467241
Paille = 4711422
Papaye = 14020607
Papier_bulle = 9229293
Parme = 15311055
Passe_velours = 3877009
Pastel = 10122070
Pêche = 12042237
Pelure_d_oignon = 9471189
Pervenche = 16764108
Pinchard = 13421772
Pistache = 7665086
Platine = 12972282
Plomb = 8487033
Poil_de_chameau = 2324662
Ponceau = 2246
Pourpre = 4198046
Prasin = 7054924
Prune = 5444737
Puce = 595534
Queue_de_renard = 3877009
Queue_de_vache_foncé = 7641256
Queue_de_vache_clair = 7386307
Réglisse = 1975341
Rose = 10382589
Rose_balais = 9398724
Rose_bonbon = 10371833
Rose_dragée = 13811710
Rose_fuchsia = 9584637
Rose_Mountbatten = 9271961
Rose_thé = 6981375
Rouge_vif = 255
Rouge_Andrinople = 70057
Rouge_anglais = 795639
Rouge_Bismarck = 665253
Rouge_bordeaux = 1705837
Rouge_bourgogne = 855403
Rouge_capucine = 5070591
Rouge_cardinal = 1056952
Rouge_carmin = 1573014
Rouge_cerise = 723899
Rouge_cinabre = 137179
Rouge_coquelicot = 2246
Rouge_d_alizarine = 1376729
Rouge_d_Andrinople = 70057
Rouge_d_aniline = 237
Rouge_de_Mars = 795639
Rouge_écrevisse = 73916
Rouge_feu = 7166
Rouge_fraise = 3158207
Rouge_framboise = 4730055
Rouge_grenadine = 4143337
Rouge_grenat = 1313646
Rouge_groseille = 1903311
Rouge_magenta = 8721863
Rouge_ponceau = 2246
Rouge_sang = 394885
Rouge_tomate = 1452510
Rouge_tomette = 3426990
Rouge_turc = 70057
Rouge_vermillon = 137179
Rouille = 1529752
Roux = 610221
Sable = 11128288
Safran = 1562355
Safre = 11809025
Sang_de_bœuf = 2163
Sanguine = 394885
Saphir = 11809025
Sarcelle = 9342464
Saumon = 5607160
Senois = 2375821
Sépia = 6588846
Sinople = 1348628
Smalt = 10040064
Smaragdin = 5822209
Soufre = 6946815
Souris = 10395294
Tabac = 1987999
Tanné = 152999
Tangerine = 8388352
Taupe = 3292998
Terre_d_ombre = 2583954
Terre_de_Sienne = 3429518
Terre_de_Sienne_brûlée = 6061206
Tomate = 1452510
Topaze = 7596794
Tourterelle = 11316411
Turquoise = 15334693
Vanille = 10145505
Ventre_de_biche = 11651561
Vermeil = 2165247
Vermillon = 137179
Vert_primaire = 65280
Vert_absinthe = 5037439
Vert_amande = 7128194
Vert_anis = 5630111
Vert_avocat = 229974
Vert_bouteille = 616969
Vert_celadon = 9938563
Vert_chartreuse = 3340226
Vert_d_eau = 11989680
Vert_de_chrome = 1980696
Vert_de_gris = 9807253
Vert_de_Hooker = 544539
Vert_de_vessie = 1013794
Vert_épinard = 3299095
Vert_gazon = 2334010
Vert_impérial = 1791488
Vert_jade = 9496967
Vert_kaki = 3377529
Vert_lichen = 8307077
Vert_lime = 3734942
Vert_malachite = 5611551
Vert_mélèze = 4747064
Vert_menthe = 5158934
Vert_menthe_à_l_eau = 9304404
Vert_militaire = 4417113
Vert_mousse = 5939047
Vert_olive = 2329968
Vert_opaline = 13033367
Vert_perroquet = 4977210
Vert_pin = 7305473
Vert_pistache = 7665086
Vert_poireau = 7054924
Vert_pomme = 2410804
Vert_prairie = 3921239
Vert_printemps = 8322560
Vert_sapin = 2642441
Vert_sauge = 7445864
Vert_tilleul = 5427621
Vert_turquoise = 14220831
Vert_Véronèse = 2188634
Vert_céladon = 9938563
Violet = 13502088
Violet_d_évêque = 6569586
Violine = 8652449
Viride = 7176768
Zinzolin = 7799404
End Enum

'-------------------------------------------------------
Sub test()
'Dans l'expression "Color.Abricot" dès que tu
'tapes le point, tu as une liste de nom de
'410 couleurs.
Range("A10").Interior.Color = Color.Abricot

End Sub
'-------------------------------------------------------

MichD

Michd

unread,
May 11, 2018, 8:42:36 PM5/11/18
to
Bonjour Modeste,

Je viens de faire une vérification, c'est la seule liste de noms des couleurs Excel 2003 que j'ai.
Je suppose que cette erreur relève de plusieurs années! ;-)
Cette version n'est plus installée sur mon ordinateur.
Selon moi, la palette des 56 couleurs par défaut doit être la même, peu importe la version. Si
c'était vrai, tu pourrais extraire la valeur décimale des 56 couleurs et retrouver le nom de la
couleur correspondante dans la liste que j'ai publiée. Tu peux toujours extraire le nom de chacune
des couleurs en utilisant la palette des couleurs en utilisant l'icône dans le ruban permettant de
colorer le texte ou le fond de la cellule. J'avoue c'est un peu longuet...

Salutations,

Michd


pom...pom...pom..

unread,
May 12, 2018, 8:28:07 AM5/12/18
to
Bonsour®
merci Denis ,
;-)
voir pièce jointe du 11/5 à 16:25
mon souci n'est pas l'identification et quantification numérique des couleurs
;-)
986 Pantone
213 Ral
3045 Resene
363 CMJN (quadrichromie)
1136 html
+ manipulations et correspondances RGB<> CMJN <>TSL
+ capture couleur sur image ou sur espace chromatique RvB

Mais simplement la recherche de l'API permettant l'accès aux noms apparaissant
dans l'info-bulle du built-in colorpicker

comme précisé précédemment les info bulles présentent maintenant les "nuances
TintAndShade" du théme actif :-(

Michd

unread,
May 12, 2018, 9:23:57 AM5/12/18
to
Cela n'a rien à voir avec ta question, mais il me semble il y a un temps très lointain que tu te
demandais comment Excel procède pour faire le rapprochement de la plus proche couleur dans la
palette de couleurs.
(pas facile de retrouver cet API)

Voici comme M. Pearson s'y prend!
http://www.cpearson.com/excel/colors.aspx

'-------------------------------------------------------------------
Determining The Closest Color In The palette

In this section, we will use a VBA function to return the ColorIndex value of the color in the
palette that is closest to a given RGB Long color value. The entire concept of a "closest" color is
somewhat subjective. Two people need not agree whether one color is in fact closer to some color
than another color. The method used here considers every RGB color to be a spatial location in a
3-dimensional space where the axes are Red, Green, and Blue components of an RGB Long value. The
code finds the ColorIndex of the color that is the least distance in this space between a
Colors(ColorIndex) value and the RGB Long value to test. The distance is determined by the simple
Pythagorean distance, but for speed of calculation we omit the square root from the calculation.

Function ClosestColor(RGBLong As Long) As Long
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' ClosestColor
' This function returns ColorIndex of the color that is "closest" to the
' specified RGBLong value. "Closest" is taken in the geometrical sense, the
' distance between two colors in a 3-dimensional space with axes of Red,
' Green, and Blue values. That is, a color is identified spatially by
' the values of the Red, Green, and Blue components. The distances between
' the spatial location of RGBLong and each Color of the palette is computed
' and the ColorIndex that minimizes this distance is returned. The distance
' between RGBLong and each Colors(ColorIndex) value is computed by simple
' Pythagorean distance:
' Dist = ( (R1-R2)^2 + (G1-G2)^2 + (B1-B2)^2 ) ^ (1/2)
' where R1, G1, and B1 are the compontents of RGBLong and R2, G2, and B2 are
' the components of each Color(ColorIndex) value.
' We can save some processing by omitting the square root from the calculations.
' Note that the entire concept of a "closest" color is rather subjective and there
' are other methods of computing the "closeness" of two colors.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Dim MinDist As Double ' running minimum distance
Dim MinCI As Double ' ColorIndex corresponding to MinDist
Dim CI As Long ' ColorIndex loop variable
Dim DistCI As Double ' Distance between each CI and RGBLong


' values from RGBLong
Dim RedTest As Long
Dim GreenTest As Long
Dim BlueTest As Long

' value from each CI in palette
Dim RedCI As Long
Dim GreenCI As Long
Dim BlueCI As Long

' ensure we have a valid RGB
If IsValidRGBLong(RGBLong) = False Then
ClosestColor = 0
Exit Function
End If

' init min distance = maximum possible distance.
MinDist = 195075 ' 255^2 + 255^2 + 255^2. omit the square root.

' color components of RGBLong
RGBComponentsFromRGBLongToVariables RGBLong, RedTest, GreenTest, BlueTest

For CI = 1 To 56
RGBComponentsFromRGBLongToVariables ThisWorkbook.Colors(CI), RedCI, GreenCI, BlueCI
' compute the distance. we omit the square root operations since it doesn't affect
relationships.
DistCI = ((RedTest - RedCI) ^ 2 + (GreenTest - GreenCI) ^ 2 + (BlueTest - BlueCI) ^ 2)
If DistCI < MinDist Then
' distance is less than current minimum. set save variables.
MinDist = DistCI
MinCI = CI
End If
Next CI

ClosestColor = MinCI

End Function
'------------------------------------------------------

MichD


isabelle

unread,
May 12, 2018, 5:24:17 PM5/12/18
to

salutàtous,

@Gilbert, est ce que c'est celle-ci que tu cherche ?

'=============================================================

Private Declare Function CHOOSECOLOR Lib "comdlg32.dll" Alias _
    "ChooseColorA" (pChoosecolor As CHOOSECOLOR) As Long
 
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
 
Private Type CHOOSECOLOR
 
         lStructSize As Long
         hwndOwner As Long
         hInstance As Long
         rgbResult As Long
         lpCustColors As String
         flags As Long
         lCustData As Long
         lpfnHook As Long
         lpTemplateName As String
 
End Type
 
Private Function ShowColor() As Long
 
         Dim ChooseColorStructure As CHOOSECOLOR
         Dim Custcolor(16) As Long
         Dim lReturn As Long
 
         ChooseColorStructure.lStructSize = Len(ChooseColorStructure)
         ChooseColorStructure.hwndOwner = FindWindow("XLMAIN", _
            Application.Caption)
         ChooseColorStructure.hInstance = 0
         ChooseColorStructure.lpCustColors = StrConv(CustomColors, _
            vbUnicode)
         ChooseColorStructure.flags = 0
 
         If CHOOSECOLOR(ChooseColorStructure) <> 0 Then
             ShowColor = ChooseColorStructure.rgbResult
             CustomColors = StrConv(ChooseColorStructure.lpCustColors, _
                vbFromUnicode)
                Debug.Print ChooseColorStructure.lpTemplateName
         Else
             ShowColor = -1
         End If
 
     End Function
 
Sub ColorTime()
 
Selection.Interior.Color = ShowColor
 
End Sub
'=============================================================

Jacquouille

unread,
May 13, 2018, 5:21:49 AM5/13/18
to
Bonjour Gilbert

Ton adresse @sfr.fr est-elle toujours active ?

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"pom...pom...pom.." a écrit dans le message de groupe de discussion :
pd494s$1q6i$1...@gioia.aioe.org...

pom...pom...pom..

unread,
May 13, 2018, 5:39:50 AM5/13/18
to
Bonsour® is@ ;-)

Je te remercie pour la tentative ...
hélas non ce n'est pas ce que tu me proposes... :-(

cela affiche un ColorPicker , mais la fenêtre d'exécution reste désespéramment
vide
Ce que je cherche c'est une API qui permettait la récupération de l'infobulle du
ColorPicker
comme ceci :
https://cjoint.com/c/HEnjCE5Hhyd

auparavant on obtenait le "nom" de la couleur du colorindex sélectionné
ce code se trouvait sur excelabo
mais la sauvegarde en ligne ne permet pas l'accès à toutes les archives( dont
certaines mienne dont je n'ai plus les sources)

pour répéter : la manipulation et interprétation des couleurs EXcel ont peu de
secrets pour moi
je cherche une voie pour comprendre et manipuler les thèmes

voir ici l'aboutissement de mes investigations dans le domaine des couleurs :
https://cjoint.com/c/HEln2Ms42Od

bisous-

isabelle

unread,
May 13, 2018, 11:19:50 PM5/13/18
to
salut Gilbertet saluàtous,

pour sur je ne peut voir l'info bullecar je n'ai que xl2010,

mais si on ajoute à la fin de la function ShowColor(),

Range("A2") = ChooseColorStructure.lStructSize
         Range("A3") = ChooseColorStructure.hwndOwner
         Range("A4") = ChooseColorStructure.hInstance
         Range("A5") = ChooseColorStructure.rgbResult
         Range("A6") = ChooseColorStructure.lpCustColors
         Range("A7") = ChooseColorStructure.flags
         Range("A8") = ChooseColorStructure.lCustData
         Range("A9") = ChooseColorStructure.lpfnHook
         Range("A10") = ChooseColorStructure.lpTemplateName

peut être que notre ami Jacques voudrait bien l'exécuter sur son super xl2002,

il pourrait nous dire si le nom de la couleur est présente sur la plage A2:A10

malheureusement exécuter sur xl2010 plus de la moitié de ces variables sont = 0
ou ""

je met le fichier pour test:


https://cjoint.com/c/HEodrd6cVUG

isabelle

Jacquouille

unread,
May 14, 2018, 4:30:06 AM5/14/18
to
Bonjour,

Pas de survol .....
Voir ceci:
https://www.cjoint.com/c/HEoiC5OXTwl

Désolé pour vous.

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"isabelle" a écrit dans le message de groupe de discussion :
pdav8k$i01$1...@gioia.aioe.org...

pom...pom...pom..

unread,
May 14, 2018, 6:47:36 PM5/14/18
to
Bonsour® Isabelle

Désolé mais voici ce que j'obtiens sur XL2007
https://cjoint.com/c/HEowSAJnq1d

>

isabelle

unread,
May 15, 2018, 4:00:22 PM5/15/18
to
avec ton xl 2007, y'a une info de plus en cellule A6 (par rapport à ce que
j'avais obtenu avec xl2010), c'est quoi ? je n'arrive pas à lire.

c'est dommage qu'il n'y ai plus personne utilisant ex2002 :(

isabelle

pom...pom...pom..

unread,
May 16, 2018, 6:40:36 PM5/16/18
to
Bonsour®

> "isabelle" a écrit dans le message de groupe de discussion :
> pdfe8i$c96$1...@gioia.aioe.org...

> avec ton xl 2007, y'a une info de plus en cellule A6 (par rapport à ce que
> j'avais obtenu avec xl2010), c'est quoi ? je n'arrive pas à lire.

j'ai créé des couleurs personnalisées histoire de voir les variations de
restitution

et en effet je suis tombé sur cette info supplémentaire ...
par curiosité j'ai tenté un coup de "Translate.google japonnais " : Justice !!
???

pour en revenir aux info-bulles du ColorPicker,
en Xl2007 ce sont des infos relatives aux thèmes
alors que précédemment c'était des noms de couleur

si ces infos apparaissent au survol, c'est que Excel fait appel à des fonctions
natives de WINDOWS (APIs ou base de registre)
j'aurai voulu faire de même pour comprendre la relation entre Thème<=>
colorIndex <=> fonction TintAndShade

mes investigations ont abouties à une corrélation approximative TintAndShade
[-1,1] avec HSL luminosité [0%, 100%]
https://cjoint.com/c/HEqwNowVqKd

isabelle

unread,
May 17, 2018, 1:10:11 AM5/17/18
to
Le 2018-05-16 à 18:40, pom...pom...pom.. a écrit :

> pour en revenir aux info-bulles du ColorPicker,
> en Xl2007 ce sont des infos relatives aux thèmes
> alors que précédemment c'était des noms de couleur

je suis surprise qu'il y avait encore des info-bulles du ColorPicker sur xl2007
perso je suis passé de xl2002 à xl2010 alors je n'ai pas vu l'évolution,
je vais continuer à chercher sur les API,
c'était quel version de win ?

0 new messages