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

VB.NET Discussion :

Inverser un graphique


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Responsable budgétaire
    Inscrit en
    Juin 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Responsable budgétaire
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2014
    Messages : 11
    Points : 13
    Points
    13
    Par défaut Inverser un graphique
    Bonjour;

    Je n'arrive pas à construire un graphique qui me permettrait de lire facilement 5 valeurs.

    Le résultat de mon code c-dessous, est un cumul des 5 Sum(Rq).
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     Private Sub BtnAfficher_Click(sender As System.Object, e As System.EventArgs) Handles BtnAfficher.Click
     
            Dim connString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " & My.Application.Info.DirectoryPath.ToString() & "\BackUp\bdd.accdb;Persist Security Info=False;"
            Dim MyConn As OleDbConnection
            Dim da As OleDbDataAdapter
            Dim ds As DataSet
            Dim tables As DataTableCollection
            Dim source1 As New BindingSource
            MyConn = New OleDbConnection
            MyConn.ConnectionString = connString
            ds = New DataSet
            tables = ds.Tables
            da = New OleDbDataAdapter("Select Sum([RqA.SommeDerealise]) as A,Sum([RqB.SommeDerealise]) as B,Sum([RqC.SommeDerealise]) as C,Sum([RqD.SommeDerealise]) as D,Sum([RqE.SommeDerealise]) as E From RqABCDE ", MyConn)
            da.Fill(ds, "RqABCDE ")
            Dim view As New DataView(tables(0))
            source1.DataSource = view
            DataGridView1.DataSource = view
            'ChartDep
            ChartDep.DataSource = ds.Tables("RqABCDE ")
            ChartDep.Series(0).YValueMembers = "A"
            ChartDep.Series(0).YValueMembers = "B"
            ChartDep.Series(0).YValueMembers = "C"
            ChartDep.Series(0).YValueMembers = "D"
            ChartDep.Series(0).YValueMembers = "E"
            ChartDep.DataBind()
     
        End Sub
    Imaginons que A, B, C, D et E =100 (20 pour chaque), mon graph montre une seule colonne avec une seule couleur et la valeur 100.
    Comment créer un graphique qui distingue les 5 valeurs ?

    Merci beaucoup pour votre aide, j'ai essayé plusieurs possibilités, mais sans succès.

  2. #2
    Membre averti
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2014
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 196
    Points : 331
    Points
    331
    Par défaut
    Je ne connais pas la librairie que tu utilise pour les graphiques mais vue le nom de la propriété que tu affecte (YValueMembers) je dirais qu'elle doit pointer vers le nom d'un membre et pas vers le nom de la catégorie directement, d'ailleurs le fait qu'il y est un S à la fin du nom de la propriétés me laisse supposer qu'il s'agit d'un propriétés qui gère une série empilé.

    Vérifie à quoi correspond cette propriétés dans la documentation, et si il n'y en as pas une sans S.

    Ensuite pour un graphe il te faut une suite de Tulpe avec des propriétés commune, la tu n'as qu'une suite de valeurs, soit tu modifie la requete, soit tu agrège les résultats dans une collection d'objet, je te donne un début d’exemple en SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     Select Sum([RqA.SommeDerealise]) as StatValue,'A' as StatCategorie 
    UNION 
     Select Sum([RqB.SommeDerealise]) as StatValue,'B' as StatCategorie 
    UNION 
     Select Sum([RqC.SommeDerealise]) as StatValue,'C' as StatCategorie 
    ...

    ainsi de suite pour toutes tes catégories, ensuite tu valorise la propriété YValueMember (si elle existe sans S) et je dirais aussi si elle existe XValueMember :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ChartDep.Series(0).YValueMember = "StatValue"
    ChartDep.Series(0).XValueMember = "StatCategorie"

  3. #3
    Membre à l'essai
    Homme Profil pro
    Responsable budgétaire
    Inscrit en
    Juin 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Responsable budgétaire
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2014
    Messages : 11
    Points : 13
    Points
    13
    Par défaut
    Merci beaucoup pour ta réponse et le temps passé dessus.

    Ton raisonnement était juste, il s'agissait bien d'un graphique "empilé" (doughnut). J'ai pu avancer mais sans succès (j'ai fait des recherches sur le terme de Tulpe qui aurait du m'aider mais google est pollué par tulipe ... si tu as un lien je prends

    Après plusieurs échecs donc, j'ai reconstruit une requête et j'ai mis à la place un graph stackedcolumn qui me permet de disposer à la fois des données affinées et du global ... in fine c'est mieux que prévu.

    Merci à nouveau

    Bonne journée

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

Discussions similaires

  1. [XL-2003] inversion motif graphique
    Par vsobo dans le forum Excel
    Réponses: 4
    Dernier message: 01/11/2010, 18h48
  2. inverser un graphique
    Par flamel dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 17/03/2010, 20h51
  3. Inverser les axes d'un graphique sur Excel
    Par ploup dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/02/2009, 17h44
  4. Inversion axe abscisses - series sur graphique
    Par semas dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/09/2008, 10h22
  5. Graphique sous excel : inverser ordonnées/abscisses
    Par yoyostras dans le forum Excel
    Réponses: 2
    Dernier message: 27/07/2007, 13h09

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