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

Catégorie :Graphique Classé sous : graphique, circulaire, statistique Niveau : Débutant Date de création : 11/08/2003 Date de mise à jour : 12/01/2006 02:18:38 Vu / téléchargé: 9 777 / 433

Note :
Aucune note

Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
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  
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

12 janvier 2006 02:18:38 :
Mot clef

Commentaires et avis

signaler à un administrateur
Commentaire de max12 le 11/08/2003 04:00:51 administrateur CS

Désoler pour l'API qui était de trop ... Elle ne sert plus

signaler à un administrateur
Commentaire de max12 le 12/08/2003 00:49:16 administrateur CS

Merci pour tout les commentaires

Ajouter un commentaire

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


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,108 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.