Macro vba et Représentation graphique?

Résolu
bubub64 Messages postés 10 Date d'inscription lundi 8 novembre 2010 Statut Membre Dernière intervention 16 juin 2011 - 8 nov. 2010 à 09:17
bubub64 Messages postés 10 Date d'inscription lundi 8 novembre 2010 Statut Membre Dernière intervention 16 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°

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

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
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
3
bubub64 Messages postés 10 Date d'inscription lundi 8 novembre 2010 Statut Membre Dernière intervention 16 juin 2011
8 nov. 2010 à 15:23
Bonjour Jordane et merci pour ta réponse rapide.

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

Cordialement.
0
bubub64 Messages postés 10 Date d'inscription lundi 8 novembre 2010 Statut Membre Dernière intervention 16 juin 2011
9 nov. 2010 à 09:44
Cela fonctionne parfaitement,

Merci encore et bonne journée!
0
Rejoignez-nous