|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
GRAPHIQUE CIRCULAIRE
Information sur la source
Description
C'est simplement pour faire des graphique circulaire comme indiquer dans le titre. Je l'est fait autour d'une formule mathématique venant d'une source de Radar (J'ai pas beaucoup de culture mathématique :( ). Sa fonctionne assez bien, même si je ne suis pas super-fier du résultat (Au point de vue graphique) mais je suis sur que vous serez l'améliorer.
Source
- 'Le type pour le talbeau
- Private Type Donnée
- Nombre As Long
- Couleur As Long
- End Type
- Private cGraph() As Donnée 'Création du tableau
- 'Ici c'est un Timer mais sa peut-être n'importe quoi
- Private Sub TimRotate_Timer()
- On Error Resume Next
- ReDim Preserve cGraph(1 To 5) ' Insertion de 5 élément dedans
- cGraph(1).Couleur = vbRed 'Couleur
- cGraph(1).Nombre = Text1(0).Text 'Ce qu'on met comme nombre
- cGraph(2).Couleur = vbGreen 'Couleur
- cGraph(2).Nombre = Text1(1).Text 'Ce qu'on met comme nombre
- cGraph(3).Couleur = vbBlue 'Couleur
- cGraph(3).Nombre = Text1(2).Text 'Ce qu'on met comme nombre
- cGraph(4).Couleur = vbYellow 'Couleur
- cGraph(4).Nombre = Text1(3).Text 'Ce qu'on met comme nombre
- cGraph(5).Couleur = vbMagenta 'Couleur
- cGraph(5).Nombre = Text1(4).Text
- GraphiqueCirculaire Check1, PicView 'Ce qu'on met comme nombre
- End Sub
- Public Function GraphiqueCirculaire(Effect3D As Boolean, lBox As PictureBox)
- Dim HX As Long, HY As Long, C As Long, Col As Long, CentreX As Long, CentreY As Long, C2 As Long, Total As Long, Degree As Long, temp As Long
- PicView.Cls
- 'On calcul le total
- For C2 = LBound(cGraph) To UBound(cGraph)
- Total = Total + CInt(cGraph(C2).Nombre)
- Next C2
- 'On détermine le centre
- CentreX = lBox.ScaleWidth / 2
- CentreY = lBox.ScaleHeight / 2
- If Effect3D = True Then Ovale IIf(Effect3D, CentreY - (CentreY / 4), CentreY - (CentreY / 1.5)) + 12, IIf(Effect3D, CentreY + (CentreY / 4), CentreY + (CentreY / 1.5)) + 12, CentreX - (CentreX / 1.5), CentreX + (CentreX / 1.5), vbBlack, lBox 'On dessine un ovale pour 3D effectX
- For C2 = LBound(cGraph) To UBound(cGraph) 'On regarde tout les élément du tableau
- temp = (cGraph(C2).Nombre / Total) * 360 'On calcul les degrée
- For C = Degree To temp + Degree 'On dessine une partie du cercle
- '##########################
- 'Formule pour déterminer ou dessiner
- HX = Int((CentreX - 34.83) * Cos(((C - 90) / 180) * 3.141592654)) + CentreX
- HY = Int((CentreY - IIf(Effect3D, 73, 32.83)) * Sin(((C - 90) / 180) * 3.141592654)) + CentreY
- 'Formule pour déterminer ou dessiner
- '##########################
-
- 'On dessine
- lBox.Line (HX, HY)-(CentreX, CentreY), cGraph(C2).Couleur
- Next C
- Degree = Degree + temp 'On additionne la ou on est rendu
- Next C2
- 'Finalement le cercle
- Ovale IIf(Effect3D, CentreY - (CentreY / 4), CentreY - (CentreY / 1.5)), IIf(Effect3D, CentreY + (CentreY / 4), CentreY + (CentreY / 1.5)), CentreX - (CentreX / 1.5), CentreX + (CentreX / 1.5), vbBlack, lBox
- End Function
- Public Function Ovale(YY As Long, YY2 As Long, XX As Long, XX2 As Long, Couleur As Long, lBox As PictureBox)
- Dim rad As Long
- rad = IIf(Abs(YY2 - YY) > Abs(XX2 - XX), Abs(YY2 - YY) / 2, Abs(XX2 - XX) / 2)
- lBox.Circle ((XX2 + XX) / 2, (YY2 + YY) / 2), rad, Couleur, , , Abs(YY2 - YY) / Abs(XX2 - XX)
- End Function
'Le type pour le talbeau
Private Type Donnée
Nombre As Long
Couleur As Long
End Type
Private cGraph() As Donnée 'Création du tableau
'Ici c'est un Timer mais sa peut-être n'importe quoi
Private Sub TimRotate_Timer()
On Error Resume Next
ReDim Preserve cGraph(1 To 5) ' Insertion de 5 élément dedans
cGraph(1).Couleur = vbRed 'Couleur
cGraph(1).Nombre = Text1(0).Text 'Ce qu'on met comme nombre
cGraph(2).Couleur = vbGreen 'Couleur
cGraph(2).Nombre = Text1(1).Text 'Ce qu'on met comme nombre
cGraph(3).Couleur = vbBlue 'Couleur
cGraph(3).Nombre = Text1(2).Text 'Ce qu'on met comme nombre
cGraph(4).Couleur = vbYellow 'Couleur
cGraph(4).Nombre = Text1(3).Text 'Ce qu'on met comme nombre
cGraph(5).Couleur = vbMagenta 'Couleur
cGraph(5).Nombre = Text1(4).Text
GraphiqueCirculaire Check1, PicView 'Ce qu'on met comme nombre
End Sub
Public Function GraphiqueCirculaire(Effect3D As Boolean, lBox As PictureBox)
Dim HX As Long, HY As Long, C As Long, Col As Long, CentreX As Long, CentreY As Long, C2 As Long, Total As Long, Degree As Long, temp As Long
PicView.Cls
'On calcul le total
For C2 = LBound(cGraph) To UBound(cGraph)
Total = Total + CInt(cGraph(C2).Nombre)
Next C2
'On détermine le centre
CentreX = lBox.ScaleWidth / 2
CentreY = lBox.ScaleHeight / 2
If Effect3D = True Then Ovale IIf(Effect3D, CentreY - (CentreY / 4), CentreY - (CentreY / 1.5)) + 12, IIf(Effect3D, CentreY + (CentreY / 4), CentreY + (CentreY / 1.5)) + 12, CentreX - (CentreX / 1.5), CentreX + (CentreX / 1.5), vbBlack, lBox 'On dessine un ovale pour 3D effectX
For C2 = LBound(cGraph) To UBound(cGraph) 'On regarde tout les élément du tableau
temp = (cGraph(C2).Nombre / Total) * 360 'On calcul les degrée
For C = Degree To temp + Degree 'On dessine une partie du cercle
'##########################
'Formule pour déterminer ou dessiner
HX = Int((CentreX - 34.83) * Cos(((C - 90) / 180) * 3.141592654)) + CentreX
HY = Int((CentreY - IIf(Effect3D, 73, 32.83)) * Sin(((C - 90) / 180) * 3.141592654)) + CentreY
'Formule pour déterminer ou dessiner
'##########################
'On dessine
lBox.Line (HX, HY)-(CentreX, CentreY), cGraph(C2).Couleur
Next C
Degree = Degree + temp 'On additionne la ou on est rendu
Next C2
'Finalement le cercle
Ovale IIf(Effect3D, CentreY - (CentreY / 4), CentreY - (CentreY / 1.5)), IIf(Effect3D, CentreY + (CentreY / 4), CentreY + (CentreY / 1.5)), CentreX - (CentreX / 1.5), CentreX + (CentreX / 1.5), vbBlack, lBox
End Function
Public Function Ovale(YY As Long, YY2 As Long, XX As Long, XX2 As Long, Couleur As Long, lBox As PictureBox)
Dim rad As Long
rad = IIf(Abs(YY2 - YY) > Abs(XX2 - XX), Abs(YY2 - YY) / 2, Abs(XX2 - XX) / 2)
lBox.Circle ((XX2 + XX) / 2, (YY2 + YY) / 2), rad, Couleur, , , Abs(YY2 - YY) / Abs(XX2 - XX)
End Function
Conclusion
http://www.psycomaxter.fr.st
Historique
- 12 janvier 2006 02:18:38 :
- Mot clef
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
[b] Diagramme circulaire pour statistique[/b] [ par AlBud ]
Je recherche deseperement depuis longtemps un code source permettant de faire des beaux diagrammes 3D circulaires éclatés (style camember) sans excel
exportation graphique [ par matullai ]
Hello,je voulais savoir si il etait possible d'exporter un graphique vb MSChart en tant qu'image, et si oui comment bien sur =)merci,
Graphique Microsoft Graph 2000 !!! [ par STEF1 ]
Voilà mon pb,je voudrais sur ouverture de mon état access, modifier les captions des étiquettes de l'axe X? Quelqu'un aurait-il un exemple de la décla
exportation d'un graphique excel [ par matullai ]
Hello,je voulais savoir si il etait possible d'exporter un graphique vb MSChart en tant qu'image, et si oui comment bien sur =)merci
VB .NET [ par minikelly ]
Hello!Je connais VB .Net!J'aimerais savoir si qqn s'aurait comment on pourrait faire pour intégrer une fenêtre graphique à VB .Net! Cette fenêtre est
Récupérer la plage des sources de données (Range) d'un graphique Excel [ par BaptisteC ]
baptiste-caggia@wanadoo.frSalut,Je cherche la propriété de l'objet Chart ou une source permettant de récupérer en variable les coordonnées de la plage
exportation excel problématique [ par matullai ]
Hello,voila mon pb :dans mon prog, je fais une export excel de données et j'en fait un graphique.le pb, c'est que la méthode graphique ne marche que l
Coller un graphique d'excel dans un formulaire access [ par toto95 ]
BONJOUR!!JE voudrais coller un graphique que g copier sous excel (grace au code suivant oAppxl.ActiveChart.ChartArea.Select oAppxl.ActiveChart.Char
Graphique sous excel [ par fisheye510 ]
salutJ'ai un petit probléme avec les graphiques sous excel, j'ai réalisé une interface sous VBA qui permet de créer des graphiquesa partir de données
URGENT--- Comment compter le nombre de courbe dans un graphique excel ?-----URGENT [ par fisheye510 ]
salutC'est juste pour savoir qu'elle fonction permet de compter le nombre de courbes dans un graphique excel ??Merci de m'indiquer la marche a suivre
|
Téléchargements
Logiciels à télécharger sur le même thème :
|