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

IHM Discussion :

Mettre en couleur les colonnes d'un graphique [AC-2010]


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Points : 35
    Points
    35
    Par défaut Mettre en couleur les colonnes d'un graphique
    Bonjour

    J'ai créé un graphique avec 6 colonnes issues d'une table temporaire, lorque je clique sur l'onglet01 où se situe mon graphique les valeurs de mes colonnes se mettent à jour en fonction des saisies des données.

    J'aimerais mettre en couleur les colonnes en fonction de l'évolution de la valeur.

    Par exemple : colonne1 si la valeur < 1 mettre en vert, si la valeur >= 1 et < 2 mettre en orange, si la valeur >= 2 mettre en rouge

    idem pour les autres colonnes avec des seuils différents

    J'ai lu les tutos msgraph1, 2, parcouru les forums mais sans résultat
    les différents essais de code que j'ai fait se sont plantés.

    Merci par avance pour toute idée me permettant de progresser sur le sujet

    Cordialement

  2. #2
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Points : 35
    Points
    35
    Par défaut
    Bonjour

    Je continue à chercher une solution à la modification de couleur de mes 6 barres de mon graphique en fonction de la valeur de chaque point

    Pour l'instant je suis bloqué pour initialiser les variables, j'ai mis le code suivant mais j'ai une erreur "1004 impossible" de lire la propriété SeriesCollection de la class Chart" j'ai rajouté à SeriesCollection --> (1) car j'ai une seule série

    Private Sub Onglet01_Change()
    Dim MonGraph As Graph.Chart
    Dim NbPoints As Graph.Points
    Dim TabDonnee As Graph.DataSheet
    Dim Legende As Legend
    Dim Ctrl As Control
    Dim ZoneGraph As Graph.ChartArea
    Dim Serie As Graph.SeriesCollection
    Dim NbBarres As Integer

    Set MonGraph = Me.GraphPertes.Object.Application.Chart
    Set NbPoints = MonGraph.SeriesCollection(1).Points
    NbBarres = MonGraph.SeriesCollection.Count

    MsgBox NbBarres

    Peut être que l'on peut aussi arriver à colorier les barres sans se soucier d'obtenir le nombre de points du graphique car il n 'y en a que 6

    mais là aussi c'est la cata :

    NbPoints.Item(1).Fill.ForeColor.SchemeColor = 9

    Merci par avance pour toute idée pouvant me faire avancer sur le sujet

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Points : 35
    Points
    35
    Par défaut
    Bonjour

    J'ai réussi pour une seule série à mettre en couleur mes barres de graphiques en fonction de leur valeur

    Avant tout je tiens à dire un grand merci à Loufab car c'est grace à ses deux tutos sur MSGRaph que j'ai pu trouver la solution

    Ci-dessous un extrait du programme :

    Dim MonGraph As Graph.Chart
    Dim NbPoints As Graph.Points
    Dim TabDonnee As Graph.DataSheet
    Dim Serie As Graph.SeriesCollection
    Dim I As Integer
    Dim Barre As String
    Dim BarreVal As Single

    Set MonGraph = Me.GraphPertes.Object.Application.Chart
    Set TabDonnee = Me.GraphPertes.Object.Application.DataSheet
    Set Serie = MonGraph.SeriesCollection
    Set NbPoints = MonGraph.SeriesCollection(1).Points

    I = 2

    'Extraction du libellé de la barre N°1 pertes pour enverrage
    Barre = TabDonnee.Cells(1, I).Value

    'Extraction de la valeur numérique de la barre N°1 pertes pour enverrage
    BarreVal = Nz(TabDonnee.Cells(2, I).Value)

    'Mise en couleur de la Barre N°1 en fonction de sa valeur numérique
    'C'est la valeur de l'item qui détermine le N° de barre / Barre1 --> item (1), barre2 --> item (2) etc...
    'La SerieCollection (1) correspond à la premiére série (1ére courbe)
    'Le Points(1) reste à 1 pour cette même série
    If Me.PertEnver < 1.5 Then
    With MonGraph.SeriesCollection(1).Points(1)
    NbPoints.Item(1).Fill.ForeColor.SchemeColor = 4 'Vert
    End With
    Else
    If Me.PertEnver >= 1.5 And Me.PertEnver < 3 Then
    With MonGraph.SeriesCollection(1).Points(1)
    NbPoints.Item(1).Fill.ForeColor.SchemeColor = 6 'Jaune
    End With
    Else
    If Me.PertEnver >= 3 Then
    With MonGraph.SeriesCollection(1).Points(1)
    NbPoints.Item(1).Fill.ForeColor.SchemeColor = 3 'Rouge
    End With
    End If
    End If
    End If

    Pour les barres suivantes c'est la même chose sauf NbPoints.Item(2) / NbPoints.Item(3) etc.... qui change

    Merci à tous

    Cordialement

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

Discussions similaires

  1. [Toutes versions] Mettre en couleur les doublons d'une table
    Par chateau_dur dans le forum VBA Access
    Réponses: 3
    Dernier message: 18/10/2009, 11h01
  2. mettre en couleur les champs non renseignés.
    Par maysa dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/09/2007, 19h15
  3. mettre en couleur une colonne d'un formulaire
    Par arnogef dans le forum Access
    Réponses: 9
    Dernier message: 04/04/2006, 13h37
  4. Réponses: 3
    Dernier message: 24/02/2006, 12h30
  5. Réponses: 1
    Dernier message: 29/08/2004, 19h45

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