IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Impossible de changer la couleur LegendEntries


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Décembre 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité

    Informations forums :
    Inscription : Décembre 2020
    Messages : 38
    Par défaut Impossible de changer la couleur LegendEntries
    Bonjour,

    J'ai un chart camembert et je souhaite changer la couleur d'une des légendes (la 4) pour qu'une des parts soient mauves. J'ai enregistré la macro suivante en le faisant manuellement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ActiveSheet.ChartObjects("Graphique 75").Activate
        ActiveChart.Legend.LegendEntries(4).Select
        With Selection.Format.Fill
            .Visible = msoTrue
            .ForeColor.RGB = RGB(177, 126, 216)
            .Transparency = 0
            .Solid
        End With
    Cependant en remettant une couleur grise et en lançant le code avec l'interpréteur VBA pour que ça passe en mauve, il ne se passe rien... Auriez-vous une idée du pb svp ? Aucune erreur affichée ...

    J'arrive pourtant à changer le fond des légendes et la couleur du texte en vba mais pas les couleurs individuelles affichées sur le camembert...

  2. #2
    Membre émérite
    Homme Profil pro
    ingénieur d'étude
    Inscrit en
    Juin 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur d'étude
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 563
    Par défaut
    Bonjour,

    Le code suivant est à adapter (noms et index des objets) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.Sheets("Feuil1").ChartObjects("Graphique 1").Chart.FullSeriesCollection(1).Points(4).Format.Fill.ForeColor.RGB = RGB(0, 0, 0)
    Cdt

  3. #3
    Membre averti
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Décembre 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité

    Informations forums :
    Inscription : Décembre 2020
    Messages : 38
    Par défaut
    Merci beaucoup Ben_L !

    D'où venait le problème avec mon code et pourquoi est ce que l'enregistreur affichait dans la macro ?

  4. #4
    Membre émérite
    Homme Profil pro
    ingénieur d'étude
    Inscrit en
    Juin 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur d'étude
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 563
    Par défaut
    Je ne maîtrise malheureusement pas suffisamment le fonctionnement interne de l'enregistreur de macros pour être capable d'expliquer les raisons pour lesquelles le code qu'il génère n'est parfois pas fonctionnel.

    Dans votre cas, vous essayez d'accéder aux propriétés du graphique en utilisant son conteneur.
    Un objet ChartObject est un peu l'équivalent d'une forme (objet Shape). Il s'agit d'un conteneur que le peut placer sur une feuille Excel et qui permet d'y manipuler un graphique (objet Chart).
    Le conteneur gère l'interface entre la feuille et le graphique. Il permet (principalement) de placer/déplacer un graphique et de définir son comportement par rapport à la feuille et aux cellules (le graphe doit-il être redimensionné avec les cellule, doit-il être imprimé, etc.).

    L'objet Chart, lui, représente le graphe à proprement parler, avec ses différents sous-objets (les axes, la zone de tracé, la légende, etc.), y compris la définition des séries de données.

    Ainsi pour modifier la couleur d'une partie d'un graphe camembert, il faut accéder aux propriétés du point de données concerné (méthode .Points). Ce point appartient à une série de données (méthode FullSeriesCollection) qui appartient elle-même à l'objet Chart.

    Cdt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Impossible de changer la couleur du text en javascript
    Par zozotitou dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 12/10/2015, 11h27
  2. [Débutant] Plot3 impossible de changer la couleur des points à partir d'un GUI
    Par DevMicroEtDB dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 16/05/2014, 00h33
  3. [WD-2007] Impossible de changer la couleur d'une bordure de titre
    Par alers dans le forum Word
    Réponses: 6
    Dernier message: 16/05/2013, 09h05
  4. Impossible de changer la couleur d'une sphere
    Par Invité dans le forum Ogre
    Réponses: 6
    Dernier message: 15/01/2012, 11h32
  5. [Cufon] Impossible de changer la couleur du lien au :hover
    Par Sayrus dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 05/08/2010, 15h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo