Associer les couleurs d'un tableau à un graph

Lleytt

XLDnaute Nouveau
Bonjour tout le monde,

J'aurais besoin de votre aide si c'est possible. J'aimerais pouvoir gagner du temps en associant les couleurs d'un tableau à un graphique. Je m'explique, les données de mon tableau sont associées à une couleur. J'aimerais qu'en produisant un graphique, les couleurs s'associent avec les couleurs du tableau. Je sais que le faire manuellement est possible, mais cela me prend beaucoup de temps ( beaucoup de graph' sont associés au tableau). Donc j'aimerais savoir s'il existait une solution autre.

Merci d'avance pour votre aide,

Lleytt
 

Pièces jointes

  • CouleurGraph.xlsx
    12.3 KB · Affichages: 35
  • CouleurGraph.xlsx
    12.3 KB · Affichages: 36
  • CouleurGraph.xlsx
    12.3 KB · Affichages: 41

chris

XLDnaute Barbatruc
Re : Associer les couleurs d'un tableau à un graph

Bonjour

Si tes données sont classées, tu peux associer un jeux de couleurs à ton classeur, sachant qu'automatiquement, les graphs utilisent le jeu en partant de la 3ème couleur puis reprennent la 1ère et la seconde couleur pour les 7ème et 8ème série.

Sinon en cherchant sur ce forum tu trouveras des exemples VBA car ce sujet a déjà été traité.
 

job75

XLDnaute Barbatruc
Re : Associer les couleurs d'un tableau à un graph

Bonjour Lleytt, chris,

Code:
Sub ColorierGraphique()
Dim i%, couleur&, rouge%, vert%, bleu%
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
  For i = 1 To .Points.Count
    couleur = [A1].Offset(i).Interior.Color
    rouge = Int(couleur Mod 256)
    vert = Int((couleur Mod 65536) / 256)
    bleu = Int(couleur / 65536)
    .Points(i).Format.Fill.ForeColor.RGB = RGB(rouge, vert, bleu)
  Next
End With
End Sub
Sur Win 7 - Excel 2010 les couleurs restituées sont assez pâles...

Mais a priori on ne peut pas faire mieux.

Edit : mots clés pour retrouver plus facilement conversion Color ForeColor RGB

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Associer les couleurs d'un tableau à un graph

Bonjour à tous,

Autre manière de convertir trouvée sur le web :

Code:
Sub ColorierGraphique()
Dim i%, couleur&, rouge%, vert%, bleu%
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
  For i = 1 To .Points.Count
    couleur = [A1].Offset(i).Interior.Color
    rouge = couleur And &HFF
    vert = couleur \ 256 And &HFF
    bleu = couleur \ 65536
    .Points(i).Format.Fill.ForeColor.RGB = RGB(rouge, vert, bleu)
  Next
End With
End Sub
Bonne journée.
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Associer les couleurs d'un tableau à un graph

Bonjour,

Code:
Sub colorie()
  Set Graphe = ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
  For i = 1 To Graphe.Points.Count
    Graphe.Points(i).Format.Fill.ForeColor.RGB = [A1].Offset(i).Interior.Color
  Next
End Sub

JB
 

job75

XLDnaute Barbatruc
Re : Associer les couleurs d'un tableau à un graph

Re,

Si l'on veut faire la conversion inverse :

Code:
Sub RestituerCouleurGraphique()
Dim i%, couleur&, rouge&, vert&, bleu&
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
  For i = 1 To .Points.Count
    couleur = .Points(i).Format.Fill.ForeColor.RGB
    rouge = couleur And &HFF
    vert = couleur \ 256 And &HFF
    bleu = couleur \ 65536
    [A1].Offset(i).Interior.Color = rouge + 256 * vert + 65536 * bleu
  Next
End With
End Sub
Les variables rouge vert bleu doivent être déclarées Long (&).

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 389
Messages
2 087 889
Membres
103 672
dernier inscrit
ammarhouichi