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 :

Couleur série d'un graphique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 705
    Par défaut Couleur série d'un graphique
    Bonjour,

    Je souhaite forcer la couleur d'une série d'un graphique. J'ai enregistré un code vba grâce à l'enregistreur macro et avec quelques renseignements trouvés sur internet, j'arrive au code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ActiveChart.SeriesCollection(6).Select
     
    'Marker's color
        With Selection.Format.Fill
            .Visible = msoTrue
            .ForeColor.RGB = RGB(64, 192, 0)
            .Transparency = 0.3
            .Solid
        End With
    En l'essayant sur un fichier d'essai très simple avec un graphique,il marche sans problème. Cependant lorsque je l'intègre dans mon projet, ça ne veut plus marcher : la sélection change bien de couleur, mais elle prend toujours la même couleur (le bleu standard) quelque soit le RGB que je mets. De plus, la transparence n'est pas prise en compte non plus.

    Je précise que le graphique est un graphique de TCD et que j'ai déjà utilisé la fonction ForeColor.RGB sur un autre graphique de TCD dans le même fichier excel et que cela marchait très bien.

    Je ne comprend absolument pas d'où vient le problème et pourquoi le code marche ici, mais pas là ... Y a-t-il une syntaxe mal utilisée ?
    Auriez-vous des conseils/pistes ... solutions ?


    Par soucis de confidentialité, je ne peux pas vous transmettre tout le fichier, mais si vous avez besoin de plus de précisions, n'hésitez pas!

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Les Select / Selection créent souvent des problèmes (et son rarement utiles).
    Essaye de t'en passer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    With ActiveChart.SeriesCollection(6).Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(64, 192, 0)
        .Transparency = 0.3
        .Solid
    End With

  3. #3
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 705
    Par défaut
    Merci, je retiens le conseil!

    Mais, malheureusement, ce n'est pas cela qui fait défaut. En plus, je viens de relancer mon programme et je remarque que maintenant, même aux endroits où le changement de couleur marchait auparavant, ce n'est plus le cas maintenant. Sur certains graphiques, les marqueurs sont invisibles => "aucun remplissage", alors que sur mon code, j'ai bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveChart.SeriesCollection(2).Format.Fill.Visible = msoTrue
    Je ne comprends plus rien ...

  4. #4
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 705
    Par défaut Début de solution
    J'ai un début de solution ...
    En enlevant la propriété Transparency, l'affectation des couleurs marche à nouveau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    With ActiveChart.SeriesCollection(6).Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(64, 192, 0)
    End With
     
    'au lieu de 
    With ActiveChart.SeriesCollection(6).Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(64, 192, 0)
        .Transparency = 0.3
    End With
    Pour l'instant, je me contente de cela, même si j'aurais préféré pouvoir contrôler la transparence aussi...

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    N'y aurait-il pas une couleur de fond dans ton graphique qui, avec la transparence, se mélangerait à la couleur de ta série pour donner la couleur que tu ne souhaites pas ?

Discussions similaires

  1. [VBA-E] Changement de couleur d'un point d'une série dans un graphique ?
    Par epfyffer dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/02/2020, 11h59
  2. Modifier la couleur d'une série d'un graphique
    Par Berzerk_ dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/01/2010, 09h19
  3. Réponses: 3
    Dernier message: 13/07/2007, 14h59
  4. couleur d'un formulaire graphique
    Par irisc dans le forum IHM
    Réponses: 2
    Dernier message: 15/01/2007, 15h05
  5. [ETAT] faire une série de 200 graphiques
    Par Cantalou dans le forum IHM
    Réponses: 3
    Dernier message: 29/09/2006, 17h28

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