bubub64
Messages postés10Date d'inscriptionlundi 8 novembre 2010StatutMembreDernière intervention16 juin 2011
-
8 nov. 2010 à 09:17
bubub64
Messages postés10Date d'inscriptionlundi 8 novembre 2010StatutMembreDernière intervention16 juin 2011
-
9 nov. 2010 à 09:44
Bien le bonjour,
Je viens poser une petite question:
Actuellement je suis entrain de réaliser une macro qui me permet au boulot de trier des données extrêmement simplement.
Au final j'obtiens 8 valeurs d'angles, par exemple:
280°
348°
2°
140°
210°
78°
301°
41°
Toutes comprises entre 0° et 360°.
En fait, ma macro actuelle me permet de gagner facilement une journée de travail, mais j'aimerai pousser le vice plus loin et arriver a avoir un visuel de ces valeurs.
Ma question donc:
Est-il possible de mettre en place un graphique en Vba qui me placerai ces angles dans un cercle? et qui lorsque je relance ma macro avec d'autres valeurs, mon graphique ce mettrai a jours?
Avez vous des tutos sur la mise en place de ce genre de graph?
jordane45
Messages postés38145Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention25 avril 2024344 8 nov. 2010 à 14:27
Bonjour,
alors.. voila.
avec un peu de trigo... j'en suis arrivé a t'écrire ce petit bout de code :
Sub Cercle_droites()
oAngle = 60
'en radian
Pi = 4 * Atn(1)
Rad = oAngle * Pi / 180
'*--------------------------------------------------------*
' Création du cercle
'*--------------------------------------------------------*
'expression.AddShape(Type, Left, Top, Width, Height)
posX = 10 'coodonnées LEFT du cercle
posY = 10 'coodonnées TOP du cercle
wd = 100 ' Largeur
ht wd ' Hauteur ( Largeur)
'ajout du cercle sur la feuille
ActiveSheet.Shapes.AddShape(msoShapeOval, posX, posY, wd, ht).Select
'coordonnées du centre
centrewd = wd / 2
centreht = ht / 2
'rayon du cercle
R = ht / 2
'*--------------------------------------------------------*
' Ajout d'une droite sur le cercle
'*--------------------------------------------------------*
'coordoonée du centre du cercle (et depart de la droite)
startX = posX + centrewd
startY = posY + centreht
'Coordonnées du point de destination
EndX = ((Cos(Rad) * R) + startX)
Endy = (-(Sin(Rad) * R) + startY)
'expression.AddLine(BeginX, BeginY, EndX, EndY)
ActiveSheet.Shapes.AddLine(startX, startY, EndX, Endy).Select
End Sub
Je ne crois pas qu'on puisse obtenir ce genre de résultat directement avec des objets "graph" dans excel.
Je crée donc un cercle.. puis j'y trace mes droites.
Ceci n'est qu'un exemple. A toi maintenant de l'adapter à tes besoins.
Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI