Trie par couleur les cellules

Bonjour,

Peut-on trier par couleur les cellules dans Excel?

De façon à avoir un dégradé de couleurs du plus clair au plus foncé... dans les blancs, les rouges, les jaunes, verts, bleus etc jusqu'au noir

J'ai essayé avec le tri personnalisé/ couleur par cellule.... mais cela ne me regroupe pas les couleurs (rouges, bleue, jaune etc)

ci-joint le fichier Excel à Trier:

121couleur-dmc.xlsx (28.89 Ko)

merci

Geoffroy

capture

Bonjour,

L'utilisation des paramètres RGB ne donne pas grand chose. Le tri décroissant R+G est le moins mauvais.

Pour régler votre problème, il vous faudrait indicer de 1 à 456 la colonne Code DMC et mettre la police de la même couleur que le fond de la cellule.

Cette indexation se ferait par approches successives.

Bonsoir,

Je n'ai jamais rencontré une macro qui sache le faire.

Le regroupement des couleurs voisines est une chose complexe et qui est aussi sujet à la perception particulière de chaque individu.

Une couleur n'est pas seulement perçue par ses composantes RGB mais aussi par la luminosité et le contraste.

Il suffit de voir comment les gens classifient une couleur turquoise (tantôt vert, tantôt bleu) et la couleur caca d'oie je vous en parle même pas (vert, jaune)

Je suis très intéressé par les réponses à venir.

Bonjour,

merci Eric et Mafraise

Eric je n'ai pas compris ta phrase:

"Pour régler votre problème, il vous faudrait indicer de 1 à 456 la colonne Code DMC et mettre la police de la même couleur que le fond de la cellule."

si j'indice ma colonne de 1 à 456 comment faire après?

Ton exemple c'est pas mal pour les jaunes, ç'est presque ça

peux-tu m'envoyer tes codes?

comment as-tu fait ça?

merci

Bonjour à tous,

pour info et ne pas perdre de temps à refaire la même chose.
Tri par teinte de HSL : https://forums.commentcamarche.net/forum/affich-37495366-tri-par-couleur-avec-nuancier#3

A partir de là peut-être délimité les couleurs manuellement et trier par L ou S pour chaque paquet
eric

Bonsoir @ tous !

eriiic du "crossposting-answer" ?
Je crois avoir répondu à un message afin de déterminer le contraste d'une couleur afin de savoir avec qu'elle couleur écrire un texte. Ce calcul pourrait être utilisé pour créer un ordre de grandeur. C'est peut-être le cas avec le HSL...

Bonne soirée.

@ bientôt

LouReeD

Yes !
J'ai ça aussi, à voir effectivement. Sans réponse à mon conseil qu'il s'inscrive, moi j'ai lâché l'affaire

Voilà j'ai retrouvé !

J'en parlais ici.

un meilleur contraste du texte en fonction de la couleur de fond de la cellule, il y a sur le net une formule qui dit :
SI ((Red value X 299) + (Green value X 587) + (Blue value X 114)) / 1000 < 125 ALORS AFFICHER DU BLANC (#FFF) SINON du NOIR (#000)

Pour récupérer les valeur rouge, vert et bleu d'une couleur au format "long" récupérée avec Interior.Color il faut faire ceci :
Rouge = Int(Couleur Mod 256)
Vert = Int((Couleur Mod 65536) / 256)
Bleu = Int(Couleur / 65536)

Donc en calculant la valeur de chaque composante, cela donne un ordre de "teinte" "contraste" qui permet de savoir si cela tend vers le foncé ou le clair, avec une valeur inférieur à 125 plutôt sombre et supérieur à 125 plutôt clair...

Pas encore essayé !

@ bientôt

LouReeD

Pareil ce n'est pas concluant...

21couleur-dmc.xlsm (67.50 Ko)

@ bientôt

LouReeD

Sans aucune formule, puis-je te suggérer de mettre du noir en fond pour le jaune ?

Mille excuses ! Je suis en darkmode !

image

Sinon deuxième test en ajoutant le MAX des trois valeur RGB...

24couleur-dmc.xlsm (74.21 Ko)

@ bientôt

LouReeD

C'est là le pb.
Si on a la luminosité ou la saturation, on n'a plus le regroupement par teinte.
D'ou ma propositon : peut-être délimité les couleurs manuellement (après tri par teinte) et trier par L ou S pour chaque paquet
eric

Pour répondre à Geoffroy63.

Ci-dessous, le code pour récupérer les paramètres RGB de ton tableau. Cela prend un peu de temps.

Option Explicit

Sub TestCouleur()

Dim DerniereLigne As Integer, I As Integer
Dim AireCouleurs As Range

    Application.ScreenUpdating = False
    With Sheets("DMC")
         DerniereLigne = .Cells(.Rows.Count, "A").End(xlUp).Row
         .Range("D1:G1") = Array("R", "G", "B", "Couleur")
         Set AireCouleurs = .Range(.Cells(2, "C"), .Cells(DerniereLigne, "C"))
         For I = 1 To AireCouleurs.Count
                ParametresRGB AireCouleurs(I)
         Next I
         Set AireCouleurs = Nothing
    End With
    Application.ScreenUpdating = False

End Sub

Sub ParametresRGB(ByVal CelluleEnCours As Range)

Dim R As Integer, G As Integer, B As Integer
Dim ValeurRGB As Long

    With CelluleEnCours
         ValeurRGB = .Interior.Color
         For R = 0 To 255
             For G = 0 To 255
                 For B = 0 To 255
                     If RGB(R, G, B) = ValeurRGB Then
                        .Offset(0, 1) = R
                        .Offset(0, 2) = G
                        .Offset(0, 3) = B
                        .Offset(0, 4) = ValeurRGB
                     End If
                 Next B
               Next G
         Next R
     End With

End Sub

Quant au tri, j'ai écrit dans mon premier message :

Pour régler votre problème, il vous faudrait indicer de 1 à 456 la colonne Code DMC et mettre la police de la même couleur que le fond de la cellule.

C'est ce que propose eriiic dans son dernier message.

Bonjour

Vous pouvez aussi comme indiqué plus haut faire les trois formules rouge vert bleu et nul besoin de boucle...

@ bientôt

LouReeD

Bonjour à tous

Et un grand merci pour votre aide.

Pour répondre à Eric Kergresse c'est effectivement long mais je n'arrive toujours pas à regrouper les bleus, les rouges, les verts, les jaunes etc.

bon d'accord je suis débutant et les couleurs c'est ma bête noir

je ne comprends rien à tout vos sympa commentaires

merci quand même car c'est vraiment sympa de m'aider...

Geoffroy

Bonsoir,

veuillez trouver votre fichier modifié avec mes différents essais, mais la colonne "essai 4" et celle "d'origine DMC" ce qui fait qu'elle doit correspondre à votre attente !
j'ai tout simplement "surfé" sur le site DMC qui propose une table de correspondance de leurs couleurs avec un regroupement par teinte !

18couleur-dmc.xlsm (116.21 Ko)

Importation des valeurs du tableau, puis création de la colonne "essai 4" avec pour formule : =RECHERCHEV([@DMC];Feuil4!$A$3:$D$468;4;0)

Ensuite je reviens sur la boucle pour trouver les correspondances entre color et RGB, les formules sont de loin beaucoup plus rapide !
Le principe est simple : color va de 0 à 16777255 et on a la couleur 0 = à rouge 0, vert 0, bleu 0.
la couleur 1 est = à rouge 1, vert 0, bleu 0.

En somme nous avons trois rouleaux R G B qui tourne de 0 à 255, donc pour connaitre la composante rouge de la couleur rouge il suffit de prendre le reste de la division de cette couleur par 256, ici pour la couleur 1 on a 1/256 = 0 reste 1 !

si on a color = 258, alors pour le rouge 258/256 = 1 et reste 2 , puis pour le vert on prend le reste de 258/65536 = 258 que l'on divise par 256 et on en prend la partie entière 1, le code RGB est donc RGB(2,1,0) etc ...

@ bientôt

LouReeD

Bonjour et un grand merci car c'est tout ce qu'il me fallait,

Dans la 'feuil2' colonne 'Arc-en-ciel' résultat EXCELLENT

Mais il n'y a que 56 lignes et il m'en faut 457 comment adapter votre macro pour ces 457 couleurs de la feuille DMC ?

Dans la feuille DMC je peux quand même travailler avec, mais de la ligne 447 à 457,il y a 11 erreurs #N/A (colonne 'essai4' )

La 'feuil4' il manque ces 11 couleurs: (Ecru – 806 – 731 – 781 – 504 – 3773 – 971 – 776 – 3713 – 3846 – 868 ).

Comment y remédier?

merci

Bonjour Geoffreoy63, Le Forum,

Les couleurs DMC ne sont pas basées sur RGB qui ne comprend que 3 couleurs. Mais sur un éventail plus grand. Voir pdf joint

2322477079.pdf (53.93 Ko)

De plus la coloration dépend et décrit souvent l'objet. Exemple: Chanvre, Ficelle, Cuir....

Le nuancier DMC s'il est établi par numéro de 1 à 20 (uni) puis 21 à 25 pour couleurs mixées (chinées). Il n'est pas progressif du plus clair au plus foncé.

Mais pour une même couleur il peut y avoir plusieurs progressions de nuances.

Donc on peut essayer de construire un tableau sur les noms des couleurs dans un 1ier temps. Puis ensuite par l'objet (Ficelle, Cuir...) lui ajoutez une couleur dominante.

Bon, je retourne à ma broderie.

Bonjour

Le fichier excel fourni, recopie de DMC, équivalent au PDF de X Cellus, vous permet de classer les couleurs par teinte : dominante bleue, verte, rouge et sont représentées par un chiffre. Ensuite j'ai fourni une formule pour le "contraste" , en jouant sur ces deux valeurs vous devriez pouvoir avoir les bleus allant du plus foncé au plus clair puis les verts du plus foncé au plus clair etc.

Pour les couleurs non trouvées dans le tableau car non numériques, donnez leur un numéro correspindant à leur couleur, s'il y en a que 11 à corriger...

@ bientôt

LouReeD

Bonsoir,

fichier avec colonne "essai" qui concatène le numéro DMC avec la teinte calculée de la colonne essai 4 :

29couleur-dmc.xlsm (110.38 Ko)

@ bientôt

LouReeD

Rechercher des sujets similaires à "trie couleur"