Graphique croisé dynamique figer les couleurs Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
S
Shakki
Jeune membre
Jeune membre
Messages : 36
Appréciation reçue : 1
Inscrit le : 5 décembre 2016
Version d'Excel : 2010

Message par Shakki » 20 mai 2017, 16:28

Bonjour,

Ce n'est pas exactement ce que tu voulais mais j'arrive à attribuer les couleurs choisies à tes graphiques. J'ai fait un test sur "Graph NB Ctats par motif" et ça semble fonctionner.

Le hic, c'est que Je n'arrive pas à créer l'équivalence entre les noms des catégories et les graphiques de manière dynamique. Pour que les couleurs soient correctement attribuées, il faut donc que les labels soient dans le même ordre que sur l'onglet Mapping (colonne H), c-à-d triés par ordre croissant.

A+
Graph Couleurs.xlsm
(766.18 Kio) Téléchargé 23 fois
m
massari59264
Membre fidèle
Membre fidèle
Messages : 474
Appréciations reçues : 8
Inscrit le : 29 avril 2017
Version d'Excel : 2016

Message par massari59264 » 22 mai 2017, 09:31

Merci beaucoup,

Cela me suffit amplement, cependant peux tu me traduire la macro (exemple il est écrit set Graph1 et set graph2 or les graphiques a modifier n'ont pas ce nom la?)

ainsi que son fonctionnement,

Merci d'avance,
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'379
Appréciations reçues : 670
Inscrit le : 27 août 2012
Version d'Excel : 365 Personnel

Message par Jean-Eric » 22 mai 2017, 10:08

Bonjour,
Une autre proposition à étudier.
Cdlt.
xlp - couleurs points graphiques.xlsm
(711.88 Kio) Téléchargé 27 fois
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
m
massari59264
Membre fidèle
Membre fidèle
Messages : 474
Appréciations reçues : 8
Inscrit le : 29 avril 2017
Version d'Excel : 2016

Message par massari59264 » 22 mai 2017, 10:35

C'est super mais je ne comprends pas comment tu as fait tout ca? peux tu me l'expliquer?

Cordialement,
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'379
Appréciations reçues : 670
Inscrit le : 27 août 2012
Version d'Excel : 365 Personnel

Message par Jean-Eric » 22 mai 2017, 12:34

RE,
Un peu d'explications, mais je pense que la procédure est compréhensible. ;;)
A te relire.
Cdlt.
Option Explicit

Private Sub Worksheet_Activate()
'Déclaration des variables
Dim pt As PivotTable
Dim objChart As ChartObject
Dim lo As ListObject
Dim r As Variant, v As Variant
Dim i As Long
    'Gel affichage
    Application.ScreenUpdating = False
    'Initialisation des variable
    Set lo = Feuil10.ListObjects("tbl_Couleurs")
    'Actualisation TCDs de la feuille active
    For Each pt In Me.PivotTables
        pt.PivotCache.Refresh
    Next pt
    '
    For Each objChart In Me.ChartObjects
        Select Case objChart.Name
            Case "Graphique_01", "Graphique_02"
                'tableau des valeurs X dans le graphique
                v = objChart.Chart.SeriesCollection(1).XValues
                For i = LBound(v) To UBound(v)
                    If v(i) <> "" Then
                        'fonction RECHERCHEV en VBA
                        r = Application.VLookup(v(i), lo.DataBodyRange, 2, False)
                        'mise à jour couleur du point de la série
                        objChart.Chart.SeriesCollection(1).Points(i).Interior.Color = r
                    End If
                Next i
            Case Else
                '
        End Select
    Next objChart
    'RAZ variables
    Set lo = Nothing
End Sub
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
S
Shakki
Jeune membre
Jeune membre
Messages : 36
Appréciation reçue : 1
Inscrit le : 5 décembre 2016
Version d'Excel : 2010

Message par Shakki » 22 mai 2017, 12:42

massari59264 a écrit : Cela me suffit amplement, cependant peux tu me traduire la macro (exemple il est écrit set Graph1 et set graph2 or les graphiques a modifier n'ont pas ce nom la?)

ainsi que son fonctionnement,
Bourjour à tous,

Pour répondre à ta question, Graph1 et Graph2 sont juste les noms que j'ai attribués à tes graphiques via l'instruction set.
Ainsi Graph1 correspond à l'objet ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).

Après pour chaque série, il va chercher la couleur qui se trouve dans l'onglet Mapping en H2, H3, etc

Il ne fait que suivre l'ordre donné d'où la nécessité de trier par ordre croissant les labels et les catégories. Comme je te l'ai dit, je n'ai pas réussi à faire correspondre les labels aux noms des catégories contrairement à Jean-Eric.

A+
m
massari59264
Membre fidèle
Membre fidèle
Messages : 474
Appréciations reçues : 8
Inscrit le : 29 avril 2017
Version d'Excel : 2016

Message par massari59264 » 22 mai 2017, 13:39

Merci pour vos retours, effectivement la solution de Jean éric correspond a ce que je voulais exactement,

Cependant, je n'arrive pas à le reproduire Jean éric.

Dois je renommer tous mes TCD en TCD_01 .... ainsi que mes graphiques en Gaphique_09 (je n'arrive pas a le faire pour les graphiques lol
m
massari59264
Membre fidèle
Membre fidèle
Messages : 474
Appréciations reçues : 8
Inscrit le : 29 avril 2017
Version d'Excel : 2016

Message par massari59264 » 22 mai 2017, 14:14

Je viens de comprendre que la macro Chart_Names et la macro Pivot_Names renomme mes tcd et mes graphiques.

Cependant en lançant ces deux macros, cela m'a bloqué mes en tête de graphique onglet "Etat mensuel NB heures+Sal.brut" et je ne peux plus actualisé les données.

Savez vous pourquoi?

J'ai trouvé le probleme il n'y avait plus de lien avec mes tcd lol

Merci pour tout,

Sujet résolu ;)
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'379
Appréciations reçues : 670
Inscrit le : 27 août 2012
Version d'Excel : 365 Personnel

Message par Jean-Eric » 22 mai 2017, 14:35

Re,
j'ai ajouté l'actualisation des TCDs pour les autres feuilles.
Pour le reste, je ne comprends pas : Tes en-têtes n'ont rien à voir avec les TCDs.
Cdlt.
xlp - couleurs points graphiques.xlsm
(715.06 Kio) Téléchargé 19 fois
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
m
massari59264
Membre fidèle
Membre fidèle
Messages : 474
Appréciations reçues : 8
Inscrit le : 29 avril 2017
Version d'Excel : 2016

Message par massari59264 » 22 mai 2017, 15:08

Tout est ok, merci beaucoup pour vos réponses.j'obtiens ce que je souhaitais,

Cordialement,
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message