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 6 et antérieur Discussion :

Comment créer un graphique sous VB6


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 62
    Points : 45
    Points
    45
    Par défaut Comment créer un graphique sous VB6
    J'aimerais savoir s'il est possible de créer un graphique sans utiliser de donnée provenant d'access.

    J'aimerais pouvoir créer un graphique avec les données que je gère directement avec VB6 sans passer par des programmes annexes.

    Merci par avance de vos réponses

  2. #2
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Il te faut des données provenant d'une quelconque source.

    J'essaie avec un simple fichier texte dans un FlexGrid et je reviens plus tard.
    (il est 19h46, gmt -5)

  3. #3
    Membre éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 635
    Points : 1 168
    Points
    1 168
    Par défaut
    Voila un truc qui traine sur mon disque dur. On fait un graphique à partir d'un clic droit ou gauche de la souris
    Fichiers attachés Fichiers attachés

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 62
    Points : 45
    Points
    45
    Par défaut
    Voila un truc qui traine sur mon disque dur. On fait un graphique à partir d'un clic droit ou gauche de la souris
    Fichiers attachés Demo_Graphe.zip (15,0 Ko, 5 affichages)
    Je suis dsl mais je ne comprends pas du tout le code que tu as donner et ce n'est pas ce que je veux faire. Je ne veux pas que ce soit l'utilisateur qui décide de la hauteur des barres par un clique droit de la souris.

    J'aimerais savoir s'il est possible de faire un camembert ?

    Merci par avance.

  5. #5
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut
    C'est re-moi... quelques heures beaucoup plus tard (bien dormi ?)

    Comme il est mentionné dans l'aide de VB (CDs MSDN), le composants MsChart est issu de Ms Excel et donc fonctionne bien en conjonction d'une table de ce type. Ceci dit, ça marche tout aussi bien avec un simple tableau bidimensionnel en mémoire. On peut même le charger à partir d'un fichier (texte, dans le cas que j'ai essayé).

    Voici un exemple de fichier texte délimité qu'on peut utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Département;Atelier;Comptoir;Expédition
    Janvier;800;734;315
    Février;621;95;504
    Mars;402;601;521
    Avril;624;811;638
    Mai;215;699;241
    Juin;964;702;910
    Juillet;206;594;482
    Aout;703;555;299
    Septembre;1092;214;885
    Octobre;158;922;348
    Novembre;852;943;441
    Décembre;138;296;753
    Ce fichier est enregistré dans le même dossier que le projet et est nommé donnees.txt sans accents... parce que c'est pas vrai qu'au Québec on a un accent: on en a plusieurs!

    Ça, c'est le code qu'on met dans un Form :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    ' *******************************************************************
    ' Par  : zazaraignée, 2011-01-28
    ' Pour : un pote du forum Développez.com (VB6)
    ' But  : Utiliser un MsChart sans base de données
    '        à partir d'un fichier de données (.dat), par exemple.
    '
    ' Ajouter au projet les composants MsFlexGrid et MsChart.
    ' Les objets utilisés et leurs noms
    ' Form       : frmGraphEtGrille
    ' MsFlexGrid : mfgGrilleDeDonnees
    ' msChart    : mchGraphique
    ' Command    : cmdFermer
    ' *******************************************************************
    Option Explicit
    Private tblLigneData() As String              ' pour lire fichier texte
    Private tblDonnees(0 To 12, 0 To 3) As String   ' pour construire le graphique
     
    Private Sub Form_Load()
        SetGrille           ' Formate le FlexGrid (lignes, colonnes, entêtes...)
        ChargerFichierTxt   ' Charge le fichier .txt dans un tableau
        AfficherDonnees     ' Affiche les données dans le FlexGrid
        TracerGraphique     ' Trace le graphique à partir du tableau
    End Sub
     
    Private Sub SetGrille()
        'Propriétés de la MsFlexGrid
        Dim i As Integer
        With mfgGrilleDeDonnees
            .AllowBigSelection = False
            .FixedCols = 1
            .FixedRows = 1
            .Cols = 4
            .Rows = 13
            .ColWidth(0) = .ColWidth(0) * 1.25
            For i = 0 To 3
            .Row = 0: .Col = i
            .CellFontBold = True
            .CellAlignment = flexAlignCenterCenter
            .Row = i: .Col = 0
            .CellFontBold = True
            Next
            For i = 4 To 12
            .Row = i
            .CellFontBold = True
            Next
        End With
    End Sub
     
    Private Sub ChargerFichierTxt()
        Dim numFic As Integer, nomFic As String, i As Integer
        Dim strLigneData As String
        numFic = FreeFile
        nomFic = App.Path & "\donnees.txt"
        Open nomFic For Input As #numFic
            i = 0
            Do Until EOF(numFic)
                Line Input #numFic, strLigneData
                tblLigneData() = Split(strLigneData, ";")
                Debug.Print UBound(tblLigneData)
                tblDonnees(i, 0) = tblLigneData(0)
                tblDonnees(i, 1) = tblLigneData(1)
                tblDonnees(i, 2) = tblLigneData(2)
                tblDonnees(i, 3) = tblLigneData(3)
                i = i + 1
            Loop
        Close #numFic
    End Sub
     
    Private Sub AfficherDonnees()
        Dim i As Integer
        With mfgGrilleDeDonnees
            For i = 0 To 12
                .TextMatrix(i, 0) = tblDonnees(i, 0)
                .TextMatrix(i, 1) = tblDonnees(i, 1)
                .TextMatrix(i, 2) = tblDonnees(i, 2)
                .TextMatrix(i, 3) = tblDonnees(i, 3)
            Next
        End With
    End Sub
     
    Private Sub TracerGraphique()
        With mchGraphique
            .AllowSelections = False
            .ChartData = tblDonnees
        End With
    End Sub
     
    Private Sub cmdFermer_Click()
        Unload Me
    End Sub
    Bon, évidemment, il y a toujours un hic. Je n'ai pas réussi à modifier l'aspect du graphique (lignes, points, ou barres...), mais il faut dire que je ne l'avais encore jamais utilisé.

    J'ai pris soin de diviser mon code en petites procédures en espérant que ça le rendra plus lisible.

  6. #6
    Membre éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 635
    Points : 1 168
    Points
    1 168
    Par défaut
    Citation Envoyé par gryffondor8392 Voir le message
    Je ne veux pas que ce soit l'utilisateur qui décide de la hauteur des barres par un clique droit de la souris.
    Tu veux faire un graphique ? mon exemple le fait ......

    Pour faire un graphique, il faut une source de donnée (fichier, BDD, calcul etc). J'ai utilisé la position de la souris, mais tu peux utiliser ce que tu veux !

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Bonsoir Zaza... content de de voir la

    pour compléter ce code voici un tuto à Khany :

    Les bases du contrôle MSChart avec Visual Basic 6.0

  8. #8
    Membre actif Avatar de petit rabot
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2010
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2010
    Messages : 236
    Points : 226
    Points
    226
    Par défaut
    Citation Envoyé par zazaraignée Voir le message
    Bon, évidemment, il y a toujours un hic. Je n'ai pas réussi à modifier l'aspect du graphique (lignes, points, ou barres...), mais il faut dire que je ne l'avais encore jamais utilisé.
    Pour le camembert:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MSChart1.chartType = VtChChartType2dPie

  9. #9
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Citation Envoyé par petit rabot Voir le message
    Pour le camembert:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MSChart1.chartType = VtChChartType2dPie
    Ben... J'avais essayé... il doit y avoir une merdouille ailleurs dans mon code

    ou bien c'est la manière de créer le graphique: je l'ai posé sur la feuille en mode création, il faut peut-être le créer dynamiquement (via une variable objet...) pour que ça fonctionne.

Discussions similaires

  1. Comment créer un calendrier sous VB6 ?
    Par gryffondor8392 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/03/2011, 19h52
  2. Comment créer un calendrier sous vb.net
    Par Clim44 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 07/06/2006, 15h22
  3. comment créer un JAR sous eclipse V3.0
    Par LESOLEIL dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 21/03/2006, 10h53
  4. comment créer une image sous forme d'eclipse(ronde)
    Par unix27 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 15/05/2005, 22h16
  5. Réponses: 31
    Dernier message: 28/03/2005, 17h23

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