Couleur Graphique qui changeant de manère automatique

splitjules

XLDnaute Nouveau
Bonjour,
Je n'arrive pas à determiner la couleur d'une série en fonction d'un terme pour un graphqiue.

En effet, j'aimerai comparé deux graphiques (un théorique et un réel) en fonction de l'odre d'appartion de mes voitures.

Pour ce faire, j'ai 3 tableaux
-un théorique = la référence, on n'ty touche pas
-un tableau de saisie d'ordre d'apparition saisie par une personne tiers
-un tableau de calcul qui en fonctionde l'ordre d'appartion saisi précédement renvoi tous les autres éléments qui ne changent pas (%)

donc j'aimerai associer à mon graphique par exemple la couleur bleu pour mercedes et que cette couleur reste pour le graphique constat (même si son ordre d'apparition change= 2 à la place de 1)

C'est compliquer à expliquer, j'espère que vous comprendrez ....

Biensur sans utiliser de vba de macro.

Je vous remercie de votre aide
 

Pièces jointes

  • Voiture.xlsx
    29.7 KB · Affichages: 109

Hippolite

XLDnaute Accro
Re : Couleur Graphique qui changeant de manère automatique

Bonjour,

Sans macro, je ne vois pas d'autre solution que le clic droit sur les données et de choisir les couleurs une à une. C'est vite fastidieux quand il y a beaucoup de données.

Je propose une macro où il n'y a rien à paramétrer, il suffira de définir le nom Noms qui contient les noms de voitures
En appelant la macro ColoriageGraphiques, tous les graphes de la feuille seront coloriés selon les couleurs de la matrice Noms.

A mettre dans un module :
VB:
Public Sub ColoriageGraphiques()
    Dim nomSerie As String, couleurSerie, G
    For Each G In ActiveSheet.ChartObjects
        G.Activate
        For i = 1 To ActiveChart.SeriesCollection.Count
            nomSerie = ActiveChart.SeriesCollection(i).Name

            couleurSerie = COULEUR(ActiveSheet.Cells( _
            ActiveSheet.Range("Noms").Row - 1 + _
            Application.WorksheetFunction.Match _
            (nomSerie, ActiveSheet.Range("Noms"), 0), 7))
            
            With ActiveChart.SeriesCollection(i)
                .Border.Weight = xlHairline
                .Border.LineStyle = xlNone
                .Interior.ColorIndex = couleurSerie
                .Interior.Pattern = xlSolid
            End With
        Next i
    Next G
    Windows("Voiture.xls").Activate
End Sub

Function COULEUR%(Optional Cel As Range)
    Application.Volatile
    If Cel Is Nothing Then Set Cel = Application.Caller
    COULEUR = Cel.Interior.ColorIndex
End Function
C'est juste un essai non optimisé, si tu es intéressé, je peux améliorer le code pour que la liste des noms puisse être placée n'importe où dans le classeur.
A+
 

Pièces jointes

  • Voiture+.xls
    45.5 KB · Affichages: 134

splitjules

XLDnaute Nouveau
Re : Couleur Graphique qui changeant de manère automatique

Merci bcp de ton code Hippolite, mais il s'agit d'un fichier à destination de personnes néophytes dans excel et par défaut les macros sont désactivées ... et j'ai peur que cela rajoute une contrainet supplémentaires ...

Merci encore !
 

chris

XLDnaute Barbatruc
Re : Couleur Graphique qui changeant de manère automatique

Bonjour

Alors si tu ne veux pas de macros il faut que les données sources soient dans le même ordre ou que le graphique se base sur une copie des données sources reclassées par formule.
 

Statistiques des forums

Discussions
312 428
Messages
2 088 333
Membres
103 817
dernier inscrit
Leberger