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 :

Comment changer les couleurs d'un graphique.


Sujet :

IHM

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 302
    Points : 185
    Points
    185
    Par défaut Comment changer les couleurs d'un graphique.
    BOnjour,

    J'ai un graphique avec plusieurs champs (AT MTD, AT YTD, PA MTD, PA YTD).
    C'est un graphique en barre (histogramme).
    Je voudrai que les couleurs change automatiquement en fonction d'une table objectif.

    Expl: Si la valeur de AT MTD dépasse celle de la table objectif je voudrai que la couleur de la colonne soit rouge sinon en vert.
    Pareil pour les autres couleurs.

    Je sais le faire sur excel (en créant une colonne rouge et une verte et en juxtaposant les 2 colonnes) mais pas sur access.

    Je voudrai le faire pas programmation.

    J'ai pensé faire une requête avec le nom des champs (AT MTD etc) et mettre comme valeur rouge ou vert selon la valeur.
    Puis par programmation dire que la couleur de la colonne du graph soit celle du champs (vert ou rouge).

    Mais je ne sais pas le faire.

    Comment appelé une barre d'un graph en vb?
    Et comment dire que cette barre doit prendre telle couleur?

    Si vous avez d'autre idée je suis prenneur.

    Merci.

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 078
    Points : 24 717
    Points
    24 717
    Par défaut
    Bonjour,

    Voici un extrait de code
    vChart doit être instancié suivant la méthode donnée dans une précédente discussion sur ce forum.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            With vChart.SeriesCollection(i)
                .Fill.BackColor.SchemeColor = 2
                .Fill.ForeColor.SchemeColor = 2 + i 
            End With

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 302
    Points : 185
    Points
    185
    Par défaut
    Merci de ta réponse.
    Mais je n'est pas trouvé la discution dont tu parles.
    Te souviens tu du nom du sujet?
    Je voulais savoir aussi comment récupérer le nom de la série.
    Parce que la je ne voit pas comment dire qu'elle couleur mettre pour chaque barre du graph en fonction de valeur que je récupérai dans des variable.
    Je vais mieux exprimmer ce que j'ai en tête.

    Je veux faire un graph en barre avec 3 variables (AT,PSI et PA).
    Chacune de ces variables doit avoir 2 barres sur le graph (MTD et YTD).
    Je pensais récupérer par une requete en sql le mot vert ou rouge en fonction des valeurs des 3 variables et d'une table.
    (J'ai une table objectif avec 2 valeurs pour chaques variables, Exp: AT MTD et AT YTD).
    Je compare les valeurs de la requête et de la table, et si la valeur dépasse je voulais qu'une variable temporaire prenne pour valeur "rouge" et "vert" si inversement.(expl ATMTDC)
    Après je pensais dire par programmation que si ATMTDC est égale à "vert", la barre de la série AT MTD soit verte sinon rouge.

    Est-ce possible?
    Ou bien il y a plus facile?

    J'espère être clair mais j'en suis pas sur.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 302
    Points : 185
    Points
    185
    Par défaut
    Je pense pouvoir m'exprimer plus simplement.
    J'ai un histogramme avec 6 barres (AT MTD,AT YTD,PSI MTD,PSI YTD,PA MTD et PA YTD).
    Je voudrai savoir comment appelé chacune de ces barre en programmation.

    Expl:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if me.barre.name="AT MTD" then
    msgbox("trouvé")
    end if
    Après je pense pouvoir faire en sorte de changer la couleur de cette barre en fonction d'une requête sql.

    Merci

  5. #5
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 078
    Points : 24 717
    Points
    24 717
    Par défaut
    Voici quelques discussions :

    http://www.developpez.net/forums/d95...rer-nom-serie/

    http://www.developpez.net/forums/d96...jet-graphique/

    Une fois l'objet chart instancié tu pourras le manipuler. N'oublie pas de télécharger le chm msgraph

    http://www.microsoft.com/downloads/e...displaylang=en



    Cordialement,

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 302
    Points : 185
    Points
    185
    Par défaut
    Merci loufab.
    Avec ca je devrai m'en sortir.
    j'ai une petite question encore.
    Le fichier que je doit dl c'est un .exe.
    Comme je suis au travail je ne sais pas si je peut l'installer.
    Qu'est-ce que fait se programme exactement?
    Ca permet de récupérer le code vb de ton graph?
    Je vais voir si j'ai le droit de l'installer.
    Merci encore.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 302
    Points : 185
    Points
    185
    Par défaut
    C'est bon je l'ai installé.
    Ca va bcp m'aider.
    Mais je risque quand même de te redemander de l'aide.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 302
    Points : 185
    Points
    185
    Par défaut
    Mon graph est directement sur un etat pas dans un formulaire.
    J'ai essayé un bout de code sur l'ouverture de l'état mais il me marque qu'il n'y a pas d'objet dépendant ou indépendant OLE.
    Peut on mettre le code sur un état ou bien il faut que le graph soit dans un formulaire?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Report_Open(Cancel As Integer)
    Dim Graph   As Graph.Chart
    Dim oDataS  As Object
     
    Set MonGraph = Me.Graphique14.Object.Application.Chart
    Set oDataS = Graph.Application.DataSheet
     
    'On compte le nombre de points (Barre) du graphique
    nbBarre = Graph.SeriesCollection.Count
    MsgBox (nbBarre)
    End Sub

  9. #9
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 078
    Points : 24 717
    Points
    24 717
    Par défaut
    Bonjour,

    Normalement pas de contre indication Etat/formulaire.

    Sur ouverture c'est un tôt. Essaye sur Formatage d'une section.

    Cordialement,

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 302
    Points : 185
    Points
    185
    Par défaut
    Bonjour,

    j'ai fait se bout de code dans mon formulaire graphique:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    With Graph.SeriesCollection(NomBarre)
        .HasDataLabels = True
        .HasLeaderLines = False
        '.DataLabels.NumberFormat = "##"
     
            With .DataLabels
                .Font.Size = 8
                .NumberFormat = "##"
                .ShowSeriesName = True
                '.ShowLegendKey = False
                '.ShowCategoryName = False
                '.ShowValue = False
                .Position = xlLabelPositionCenter
            End With
    End With
    Ca m'affiche le nom de la serie et sa valeur cote à cote.

    je voulais savoir si il était possible de les séparer.
    Je voudrai avoir les valeur au centre et les nom en bas de la barre.

    je n'ai pas trouvé comment faire.

    Merci

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 302
    Points : 185
    Points
    185
    Par défaut
    J'aurai voulu savoir aussi si vous saviez comment faire le séparateur "nouvelle ligne" en vb.

    (ca c'est pour le point virgule)
    (ca marche aussi sauf pour entrer biensur).

    Merci

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

Discussions similaires

  1. [XL-2007] Comment changer les couleurs d'un graph avec une macro?
    Par abfabulous dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/02/2013, 13h43
  2. Comment changer les couleurs
    Par bigrb dans le forum Tcl/Tk
    Réponses: 1
    Dernier message: 10/07/2009, 18h34
  3. Comment changer les couleurs des lignes avec displaytag
    Par rlnd23 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 09/10/2006, 14h52
  4. [phpBB] Comment changer les couleurs
    Par ludolecho dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 19/05/2005, 09h20

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