Comment transformer des valeur numérique en couleur?

Salut à tous.

Depuis un logiciel de CAO, j'exporte un tableau qui a une colonne dans laquelle il y a des couleurs sous forme de texte.

En fait, ce sont les veuleurs ded couleurs RVB. Exemple: 133,255,255.

Je souhaiterais, lorsque j'ouvre mon fichier Excel, que ces valeurs se transforment directement dans la couleur correspondante.

Si ça n'est pas possible, comment faire pour créer une nouvelle colonne dans laquelle les celleules se mettraient dans la couleur correspondant aux valeurs RVB?

Bonjour,

Peux t'on avoir un fichier exemple stp

Bonjour,

Sub miseEnCouleur()
    Dim c As Range
    For Each c In Selection
       If UBound(Split(c, ",")) = 2 Then c.Interior.Color = RGB(Split(c, ",")(0), Split(c, ",")(1), Split(c, ",")(2))
    Next c
End Sub

Sélectionner la plage et lancer la macro.

eric

Bon jour Eriiic.

Comment créé-t-on une macro?

Re,

Comment créé-t-on une macro?

Alt+F11 pour aller dans l'éditeur VBE.

Je t'ai mis la macro dans le module1.

Elle s'appliquera sur la feuille active quelque soit le classeur.

J'ai modifier un peu le code pour qu'elle s'applique automatiquement à la taille de la colonne A.

J'ai ajouté 2 constantes que tu choisisses la 1ère colonne et le nombre de cellules à colorer sur la ligne :

Sub miseEnCouleur()
    Dim coul As String, lig As Long
    Const decalage As Long = 1 ' décalage colonne, + : à droite, - : à gauche
    Const largeur As Long = 3 ' nombre de colonnes à colorer
    For lig = 3 To Cells(Rows.Count, "A").End(xlUp).Row
        coul = Cells(lig, "A")
       If UBound(Split(coul, ",")) = 2 Then Cells(lig, "A").Offset(0, decalage).Resize(1, largeur).Interior.Color = RGB(Split(coul, ",")(0), Split(coul, ",")(1), Split(coul, ",")(2))
    Next lig
End Sub

eric

PS: j'ai coloré les cellules, si c'est vraiment le texte que tu veux mettre en couleur remplacer :

.Interior.Color

par

.font.Color

70exemple.zip (11.72 Ko)

Bonjour Eriiic.

C'est carrément génial, je me suis même créé un bouton spécial dans le ruban pour coloriser les cellules.

ce que je comprends pas, c'est que lorsque je créé un graphique (un camembert), le camembert ne respecte pas les couleurs des cellules. J'ai beau fouiller mais je ne trouve pas le moyen de faire en sorte que les parts de camembert soient les mêmes que celles des cellules.

Bonjour,

Excel choisit toujours tout seul ses couleurs de graphique.

C'est encore en vba mais en un peu plus chi... :

Sub colorGraph()
    Dim pts As Point, i As Long
    ActiveSheet.ChartObjects("Graphique 2").Activate
    i = 1
    For Each pts In ActiveChart.SeriesCollection(1).Points
        pts.Interior.ColorIndex = ActiveSheet.[B2].Offset(i, 0).Interior.ColorIndex
        i = i + 1
    Next pts
End Sub

Récupère mise la couleur en colonne B.

Tu peux appeler cette procédure en fin de l'autre en ajoutant avant le end sub :

colorGraph

A adapter à ton classeur.

eric

27exemple.zip (12.97 Ko)

Je ne comprends pas.

J'ai essayé sur un nouveau fichier, je n'arrive pas à modifier les couleur du graphique et j'ai un message d'erreur.

Tu veux qu'on trouve une erreur sur une vidéo ????

Un fichier xls serait beaucoup plus utile...

Contrôle le nom de ton graphique, ça change à chaque fois que tu en crée un.

eric

Voici le fichier.

Si à chaque fois que je créé un graphique et qu'il change de nom, ça veut dire qu'il faut à chaque fois refaire une macro?

34exemple2.zip (17.07 Ko)

Re,

je l'avais dit que les graphiques en vba c'était ch...

Il faut mettre colorGraph dans la procédure du module1 (je l'avais mis en commentaire dans le code), là il s'appelle lui-même dans une boucle infinie.

En plus, je ne sais pas ce qu'il se passe avec ton graphique mais il ne prend pas le changement de couleur. Il ne fait pas d'erreur mais il s'en fout royalement (?)

Je me demande si tu ne l'as pas fait sur 2007 ou 2010 qui gèrerait les couleurs différemment, et enregistré en xls.

J'en ai donc dessiné un autre, et appelle le graphique par son index (donc ici le 2, si tu n'en as qu'un ça sera le 1) :

Sub colorGraph()
    Dim pts As Point, i As Long, coul As String
    'ActiveSheet.ChartObjects("Graphique 14").Activate
    ActiveSheet.ChartObjects(2).Activate '2=index du graphique
    i = 1
    For Each pts In ActiveChart.SeriesCollection(1).Points
        pts.Interior.ColorIndex = ActiveSheet.[B2].Offset(i - 1, 0).Interior.ColorIndex
        i = i + 1
    Next pts
End Sub

Par contre le plus simple c'est de toujours le garder et changer tes données.

eric

15exemple2.zip (16.75 Ko)

Bonjour,

je t'avais répondu mais j'ai dû oublier de valider... :-s

C'est dans l'autre procédure (module1, je l'ai mis en commentaire) qu'il faut appeler colorGraph. Là tu as fait qu'il s'appelle lui-même et tu entres dans une boucle infinie.

Ton graphique refuse les modif de couleurs. Enfin il ne les refuse pas, il ne plante pas mais il s'en fout.

Je me demande si ce n'est pas un graph fait sur 2007-2010 et enregistré en .xls (?), et les couleurs ne seraient pas gérées pareil.

J'en ai créé un autre sur lequel ça marche. Essaie de construire ton classeur à partir de celui-ci

Je n'appelle plus le graphique par son nom mais par son index (ici 2 car c'est le 2nd)

eric

24exemple2.zip (16.76 Ko)

Salut Eriiic.

Nickel pour le graphique mais ce que je ne comprends pas, c'est que le 1er graphique, celui dont les couleurs sont mauvaises, ne peut pas être supprimé, sinon, le second ne fonctionne plus

Bonjour,

si tu supprimes le 1er graphique change l'index dans le code.

ActiveSheet.ChartObjects(1).Activate

eric

je crois que je vais laisser tombert les graphiques.

j'ai bien apporté les modifications que tu m'a indiqué.

Mais mon soucis est le suivant.

J'ai fais un essai en conservant le fichier Excel Exemple 2.

j'ai modifier les données de noms et de surfaces et codes couleur.

J'ai recolorisé les lignes. Là, tout va bien.

J'ai recolorisé le graphique et là, je ne comprends plus rien. certaines couleurs sont bonnes mais pas au bon endroit et d'autre ne sont pas du tout les mêmes Ca a bien fonctionné au début puis plus rien

Tant pis pour les graphiques.

Celà dit, merci pour ton aide à a quand même bien fait avancer les chose

Bonjour,

cette version enchaine coloration ligne et changement de la source du graphique et de ses couleurs (ne pas le supprimer).

Toujours sélectionner les pièces avant de cliquer sur le bouton.

eric

20exemple2.zip (14.41 Ko)

Merci Eriiic.

Je regarderai le fichier dès que possible

Rechercher des sujets similaires à "comment transformer valeur numerique couleur"