Macro vba et Représentation graphique? [Résolu]

Messages postés
10
Date d'inscription
lundi 8 novembre 2010
Statut
Membre
Dernière intervention
16 juin 2011
- - Dernière réponse : 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.
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
26560
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 octobre 2019
316
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 201 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jordane45
Messages postés
10
Date d'inscription
lundi 8 novembre 2010
Statut
Membre
Dernière intervention
16 juin 2011
0
Merci
Bonjour Jordane et merci pour ta réponse rapide.

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

Cordialement.
Commenter la réponse de bubub64
Messages postés
10
Date d'inscription
lundi 8 novembre 2010
Statut
Membre
Dernière intervention
16 juin 2011
0
Merci
Cela fonctionne parfaitement,

Merci encore et bonne journée!
Commenter la réponse de bubub64