ColorIndex : c'est de l'arnaque ?

Bonjour,

J'ai toujours pensé que les 56 ColorIndex étaient bien des couleurs toutes différentes. Mais en analysant leur composantes RGB, il semble que non (voir le fichier ci-joint).

Est-ce que je me trompe quelque part ou est-ce que les ColorIndex 11 et 25, 5 et 32, 14 et 31, etc., sont réellement identiques ? Si oui, connaissez-vous la raison de cela ?

Cordialement.

Salut Yvouille,

Je savais qu'il y avait des doublons mais je n'en imaginais pas autant. J'ai fait le test et voici tous les doublons apparemment (si je n'en oublie pas) :

0-2
5-32
6-27
7-26
8-28
9-30
11-25
13-29
14-31
18-54
20-34

Je n'ai pas la réponse à tes questions cependant mais peut-être est-ce une question de version ? Je me dis que les premières versions auraient pu avoir des colorindex uniques avant d'être progressivement modifiées et "homogénéisées" suite à l'apparition des codes couleurs RGB, comme par une sorte d'arrondi à l'ensemble de valeurs RGB les plus proches (comme si certaines combinaisons de puissance de 2 pouvaient donner le même résultat Long malgré une disposition différente)... Enfin j'en sais rien .

Mais l'avantage, c'est que ça ne fait plus que 40 codes à apprendre .

Cdlt,

"Une horloge cassée donne la bonne heure 2 fois par jour"

;Bonjour Yvouille,

Dans la grille des" colorIndex" par défaut, Il y a effectivement plusieurs index qui donnent la même couleur

A l'origine les couleurs sont disposées dans 2 groupes distincts, le premier groupe de 40 couleurs (5 x 8) et le second de 16 couleurs (2 x 8) :

colorindex

Les doubles se situent tous parmi les index 17 à 32, mais dans ces index il y a aussi des couleurs uniques.

Étant donné que toutes ces couleurs sont personnalisables, je suppose que ce second groupe était prédestiné aux couleurs personnalisées de façon à conserver le socle commun des 40 couleurs, mais ce n'est qu'un supposition.

Il se pourrait aussi que ce soit lié à l'évolution des versions d'Excel mais là, ma mémoire me fait défaut : je ne me souvient pas si les premières version avaient moins de 56 couleurs.

Bonjour à tous,

Avec le Colorindex, on peut utilement se servir du TintAndShade, voici un exemple :

Sub Dégradés()
Dim i As Integer, j As Integer

    For i = 1 To 56
        For j = 1 To 20
            With ActiveSheet.Cells(i + 1, j)
                .Interior.ColorIndex = i
                .Interior.TintAndShade = 1 - (j * 0.05)
                .Value = .Interior.Color
            End With
        Next j
    Next i
End Sub

Pierre

Bonjour Pierre,

Merci pour cette petite astuce utile !

Edit : Et pour obtenir les entrées RGB associées, une petite fonction :

Function GETRGB$(couleur As Long)

Dim rouge%, vert%, bleu%

If couleur > 16777215 Then GETRGB = "255, 255, 255": Exit Function
If couleur < 0 Then GETRGB = "0, 0, 0": Exit Function

rouge = Int(couleur Mod 256)
vert = Int((couleur Mod 65536) / 256)
bleu = Int(couleur / 65536)

GETRGB = rouge & ", " & vert & ", " & bleu

End Function

Cdlt,

Bonjour à vous tous et merci pour vos réponses.

Avec mon titre un peu provocateur, j'avais peur que personne ne me réponde

@ 3GB

Comme tu peux le constater dans mon fichier, avec mon système de lecture des composantes des couleurs, je trouve une différence entre la 7 et la 26 (lignes 45 et 46). Es-tu sur de ton affirmation ? Quant à la couleur 0, elle n'existe pas

@ Patrice

Tes informations font absolument sens. Il suffit donc de savoir qu'il y a des couleurs à double et - si nécessaire - ne travailler que sur certaines d'entres-elles. Je n'ai encore jamais vraiment eu le cas, mais il m'est déjà arrivé de boucler sur 3 à 5 couleurs, jamais plus. Mais je me posais la question de savoir ce qui se passerait si l'on bouclait sur les 56 couleurs (ou presque).

@ Pierre

Information très intéressante si l'on devait une fois boucler sur une grande variété de couleurs. Mais je présume qu'en éclaircissant ou assombrissant une couleur, on finirait par tomber sur une autre couleur existante.

Encore merci à vous tous pour votre aide.

En fait, je m'en sers pour un 'Couleur-Piqueur' pour une appli de gestion de projet sur laquelle je bosse en ce moment.

Ici pour proposer à l'utilisateur un panel de couleurs et leurs diverses teintes.

demo couleur piqueur

Pierre

@Yvouille : Alors, je n'ai pas regardé ton fichier mais j'ai fait une boucle pour obtenir le RGB correspondant à chaque colorindex. Ensuite, j'ai fait le reste par formules pour identifier les doublons. Ayant fait ça à la va-vite, je n'exclus pas avoir fait une erreur mais quand on regarde le tableau, on voit quand même une ressemblance assez nette entre l'index 7 et le 26. Pour les 45 et 46, je ne vois pas de quoi tu parles. Et la couleur 0, si je ne me trompe pas, c'est l'absence de couleur xlnone, tandis que la couleur 2 est le blanc. Mais le code RGB est le même...

Mais je suis loin de connaître les couleurs aussi bien que pierrep56.

Cdlt,

Re-salut 3GB,

Je voulais simplement dire que les ColorIndex 7 et 26 étaient sur les lignes 45 et 46 de mon fichier, selon l'image ci-dessous, avec des valeurs RGB différentes :

capture 1

Quand à la ColorIndex 0, je ne l'ai effectivement jamais vue sur une liste quelconque :

capture

Amicalement.

EDIT : Mais ça semble être une question de version Excel. Les couleurs du fichier que j'ai placé en premier sur ce fil a été généré il y a plusieurs années sur une version inconnue. Le même code générant ces couleurs actuellement ne donne plus les mêmes résultats !!

De toute façon, c'est pas bien grave, je n'utilise pas souvent le magenta et ses déclinaisons .

Je pense que je me suis trompé en pensant que xlcolorindexnone valait 0. Il vaut apparemment -4142, alors que xlcolorindexautomatic vaut -4105. Mais, tout porte à croire que ces 2 index, lorsqu'ils sont appliqués à l'objet .interior correspondent à l'absence de couleur et donc au blanc (ce qui ne serait probablement pas le cas pour l'objet .font >>> xlcolorindexautomatic renverrait le noir a priori).

Donc peut-être que tout index hors des valeurs admises (en tout cas entre 1 et -4105) est interprété comme la couleur -4105...

Cdlt,

Bonjour

@Yvouille : assez bizarre mais cela semble venir des premières versions d'excel

Sinon un lien où Sébastien (sans en discuter) montre aussi ce que tu as constaté --> https://forum.excel-pratique.com/astuces/couleurs-rgb-colorindex-21547

Bonne journée

Bonjour,

EDIT : Mais ça semble être une question de version Excel. Les couleurs du fichier que j'ai placé en premier sur ce fil a été généré il y a plusieurs années sur une version inconnue. Le même code générant ces couleurs actuellement ne donne plus les mêmes résultats !!

Comme je t'ai dit, chaque couleur de l'index peut-être personnalisée : avec Thisworkbook.Colors(i)=RGB(r,g,b)

Jusqu'à Excel 2003, il était possible de rétablir la palette des 56 couleurs par défaut pour annuler toute personnalisation.

Depuis Excel 2007, les 56 couleurs de la palette sont redéfinies par le thème choisi et microsoft ne propose pas de thème avec l'ancienne palette.

Rechercher des sujets similaires à "colorindex arnaque"