Macro vba et Représentation graphique?

[Résolu]
Signaler
Messages postés
10
Date d'inscription
lundi 8 novembre 2010
Statut
Membre
Dernière intervention
16 juin 2011
-
Messages postés
10
Date d'inscription
lundi 8 novembre 2010
Statut
Membre
Dernière intervention
16 juin 2011
-
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°

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?

Merci d'avance, et bonne journée.
Bruno.

3 réponses

Messages postés
33214
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 août 2021
351
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
Messages postés
10
Date d'inscription
lundi 8 novembre 2010
Statut
Membre
Dernière intervention
16 juin 2011

Bonjour Jordane et merci pour ta réponse rapide.

Je vais tester tout ca :)
Je te tiendrai informé si cela fonctionne!

Cordialement.
Messages postés
10
Date d'inscription
lundi 8 novembre 2010
Statut
Membre
Dernière intervention
16 juin 2011

Cela fonctionne parfaitement,

Merci encore et bonne journée!