User control graphique vb 2005

Soyez le premier à donner votre avis sur cette source.

Vue 18 039 fois - Téléchargée 1 976 fois

Description

Tout d'abord rendre à César ce qui est à César :
Je suis parti du code de Nicholas 99 que vous pouvez trouver sur le lien suivant : http://www.vbfrance.com/codes/COURBE-2D-SANS-MSCHART_35511.aspx

Il s'agit d'un code pour tracer un graphique. Il faut l'integrer dans une fenetre comme n'importe quel user control.

Le nombre de séries est volontairement limité à 10 pour des raisons de lisibilité du graphique, un message informe si l'on veut 'forcer' une serie de trop. Ce paramètre est géré par une simple variable, plus la liste des modèles de couleur à compléter.
Le nombre de 'moyenne mobile' est limité à 3 de la même façon que pour les séries (modifiable également de la même façon)

Il y a un ensemble de proprietes qui commencent par _
Il y a egalement 2 modeles de couleurs : XLLike et Base

Il n'y a pas de gestion d'erreurs a proprement parler, si vous avez des difficultés merci de me les signaler

Toute critique est bienvenue, positive ou negative. Merci d'avance

Source / Exemple :


Code partiel (exemple) :

Sub test()
    Dim aa As New UcGraph

    aa._RafraichiLive = False 'Eviter le cligonetement
    
    aa.ClearMe()

    aa.Top = 370
    aa.Left = 50
    aa.Height = 400

    aa._TitreGraphique = "Essai de graphe"
    aa._TitreAxeX = "Valeurs X"
    aa._TitreAxeY = "Valeurs Y"
    aa._PointVisible = True 'point sur la courbe
    aa._LegendeVisible = True

    Dim ab() As Double
    Dim max As Integer = 900

    Dim listeE(5) As String
    For x As Integer = 0 To 5
        listeE(x) = Str(2000 + x)
    Next
    aa.AddEtiquettesX(listeE)

    For x As Integer = 0 To 8
        ab = New Double() {CDbl(Int((max * Rnd()) + 1)), CDbl(Int((max * Rnd()) + 1)), _
CDbl(Int((max * Rnd()) + 1)), CDbl(Int((max * Rnd()) + 1))}
        aa.AddCourbe(x, "Test" & " " & x & " " & x, True, False, False, False, ab)
    Next
    aa.AddCourbe(1, "Test Max", True, False, False, True, New Double() {15, 15, 18, 41, 45, 69, 35})

    aa._RafraichiLive = True
    
    Me.Controls.Add(aa)

End Sub

Conclusion :


Quelques détails :

'=======================
'Methodes
'=======================
'AddMoyenneMobile(ByVal NumCourbe As Integer, ByVal Periode As Integer)
'Ajouter une moyenne mobile (n° de courbe de reference, periode)

'RemoveMoyenneMobile(ByVal Numero As Integer)
'enlever une moyenne mobile (n° de la courbe de reference)

'ZapMoyennesMobiles()
'Effacer TOUTES les moyennes mobiles

'AddCourbe(ByVal Ordre As Integer, ByVal Titre As String, ByVal Courbe As Boolean, ByVal Barre As Boolean, ByVal Curseur As Boolean, ByVal Moyenne As Boolean, ByVal Valeurs() As Double)
'Ajouter une courbe

'DeleteCourbe(ByVal NumeroDeSerie As Integer)
'Supprimer une courbe

'ZapCourbes()
'Supprimer TOUTES les courbes

'AddEtiquettesX(ByVal Liste() As String)
'Ajouter les etiquettes de l'axe X

'ZapEtiquettes()
'Effacer les etiquettes de l'axe X

'ClearMe()
'Effacer tout en un seul coup

'====================
'Proprietes
'====================

'_AxeYBeginZero() As Boolean ' l'axe Y commence à zéro ou non
'_DeuxAxesY() As Boolean ' Les valeurs Y sont representées à droite
'_TitreAxeX() As String ' Titre de l'axe X
'_TitreAxeY() As String ' Titre de l'axe Y
'_FontAxeX() As Font
'_FontAxeY() As Font
'_CouleurAxe() As Color
'_CouleurTitreAxeX() As Color
'_CouleurTitreAxeY() As Color
'_CouleurEchelle() As Color

'_FontTitre() As Font
'_CouleurTitre() As Color
'_TitreGraphique() As String

'_TaillePointCourbe() As Integer
'_PointVisible() As Boolean
'_EpaisseurCourbe() As Integer

'_CouleurContourGraphe() As Color
'_ContourVisible() As Boolean
'_CouleurFondGraphe() As Color
'_CouleurZoneTracage() As Color
'_CouleurGrille() As Color

'_Moyenne(ByVal n As Integer) As Double
'_LegendeVisible() As Boolean
'_Ombre() As Boolean
'_ModeleDeCouleur() As Modele
'_RafraichiLive() As Boolean

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
463
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
21 avril 2010

Messages postés
79
Date d'inscription
samedi 4 février 2006
Statut
Membre
Dernière intervention
28 juillet 2008

Quelqu'un sait si il existe un équivalent pour creer des graphiques en "camembert" ?
Messages postés
79
Date d'inscription
samedi 4 février 2006
Statut
Membre
Dernière intervention
28 juillet 2008

Réponse rapide et précise, merci beaucoup

Superbe cet outil ! Et Relativement simple a utiliser même pour des débutants. Du très beau boulot !
Messages postés
79
Date d'inscription
samedi 4 février 2006
Statut
Membre
Dernière intervention
28 juillet 2008

Effectivement, une fois généré, le programme semble bien fonctionner. Un module UcGraph s'affiche.

Je me permet de reposer une question, car ce que tu as fait m'interesse beaucoup.

Comment je dois proceder pour integrer cet outil graphique à un autre programme que je suis en train de faire ?

Je te donne mon email si tu veux maximedarde chez yahoo.fr
Messages postés
33
Date d'inscription
dimanche 11 septembre 2005
Statut
Membre
Dernière intervention
5 juillet 2012
1
Quand tu as ajouté le fichier, il faut generer la solution pour referencer le module.

Normalement ca doit marcher apres cela
Afficher les 40 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.