begin process at 2008 08 22 05:40:15
1 229 779 membres
50 nouveaux aujourd'hui
14 267 membres club

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 !

Sujet : VBA Excel graphique [ Divers / Débutants ] (skyvi)

VBA Excel graphique le 17/07/2008 11:06:22

skyvi
Bonjour,

Je débute dans la programmation en VBA excel et j'ai un graphique à faire... Mon graphique doit ressembler à une bombonne de gaz, j'ai réussi à faire les 2 demi cercles (et encore) mais pour ce qui est des 2 segments qui doivent les rejoindre je piétine... Si quelqu'un pouvait m'aider svp

MERCI


Re : VBA Excel graphique le 17/07/2008 11:25:35

NHenry
Membre Club
Bonjour,

Comment tu t'y es déjà pris pour les cercles ?

VB.NET -> VBA ????

Ma signature pour pointer sur mon site

Re : VBA Excel graphique le 17/07/2008 11:30:36

skyvi

J'ai fait le code suivant ça fonctionne plus ou moins bien car je ne comprend pas pourquoi il me fait un trait qui relie mon demi cercle au point (0,0), c'est étrange...

Dim Tableau3(10) As Double, Tableau4(10) As Double
   
    'Création du tableau pour les Abscisses
    For i = 1 To 10
        Tableau3(i) = -Rayon * Cos((Pi - (i - 1) * (Pi / 9)))
    Next i
       
    'Création d'un tableau pour les Ordonnées
    For i = 1 To 10
        Tableau4(i) = Rayon * Sin((Pi - (i - 1) * (Pi / 9)))
    Next i

    
     
    'Ajoute une série dans le graphique
    With ActiveChart
        .SeriesCollection.NewSeries
        .SeriesCollection(2).XValues = Tableau3() 'Abscisses
        .SeriesCollection(2).Values = Tableau4() 'Ordonnées
        'Définit le type (Courbe)
        .ChartType = xlXYScatterSmooth
    End With

J'ai fait la même démarche pour l'autre demi cercle...... En gros il faudrai juste relier ces 2 demi cercle par des droites mais rien de ce que j'ai essayé ne fonctionne

MERCI


Re : VBA Excel graphique le 17/07/2008 14:46:21

NHenry
Membre Club
Bonjour,

Heu ... comment dire ... Ton code m'as quelques peu surpris (et encore je minimise), je m'attendais à ce que ce soit sur une UserForm ...

J'ai du mal à visualiser le résultat, mais là je suis tellement surpris que je suis un peu à cours d'idées.

Je verrais ultérieurement ton problème, car là je suis un p)eu chargé de boulot.

Ma signature pour pointer sur mon site

Re : VBA Excel graphique le 17/07/2008 14:55:41

skyvi
ah en quoi cela t'as surpris je vois pas comment on peut mettre ça dans un Userform étant donné que j'en ai déjà un qui me donne les composantes pour faire justement le dessin et autre...
C'est vrai qu'il y avait peut etre une meilleure façon de faire mais comme je ne savais pas trop comment m'y prendre j'ai farfouillé un peu dans les différents forums et j'ai pris ce qui m'interessait... Il est vrai que je préférerai que le graphique s'affiche dès l'ouverture du fichier mais pas sur les données d'entrée... donc c'est pour ça que j'ai opté pour ce procedé malgré que je n'ai pas trouvé comment le déplacé sur ma feuille excel!

Merci quand meme de me donner un coup de main car la je seche carrement!!!



Re : VBA Excel graphique le 21/07/2008 10:16:08

NHenry
Membre Club
Bonjour,

Bon, j'ai trouver une solution, il faut dupliquer le point, voici ce que j'ai obtenu :

    Dim Tableau3(0 To 11) As Double, Tableau4(0 To 11) As Double
  
   Dim i As Long
   Dim Rayon As Double
   Rayon = 10
  
   Dim Pi As Double
   Pi = 3.14159
  
    'Création du tableau pour les Abscisses
    For i = 1 To 10
        Tableau3(i - 1) = -Rayon * Cos((Pi - (i - 1) * (Pi / 9)))
    Next i
      
    'Création d'un tableau pour les Ordonnées
    For i = 1 To 10
        Tableau4(i - 1) = Rayon * Sin((Pi - (i - 1) * (Pi / 9)))
    Next i

    'Dim TblX(0 to 2) as bouble
   
    Tableau3(10) = Tableau3(9) 'Doublon pour éviter la déformation de la courbe
    Tableau3(11) = Tableau3(0) 'Point d'origine
    Tableau4(10) = Tableau4(9) 'Doublon pour éviter la déformation de la courbe
    Tableau4(11) = Tableau4(0) 'Point d'origine
  
    'Ajoute une série dans le graphique
    With ActiveChart
        Do While .SeriesCollection.Count < 1
            .SeriesCollection.NewSeries
        Loop
        .SeriesCollection(1).XValues = Tableau3() 'Abscisses
        .SeriesCollection(1).Values = Tableau4() 'Ordonnées
        'Définit le type (Courbe)
        .ChartType = xlXYScatterSmooth
    End With

Ma signature pour pointer sur mon site

Re : VBA Excel graphique le 22/07/2008 10:11:33

skyvi
Et bien je te remercie pour ton aide, mais il y a un problème quand je compile... Il me dit qu'il y a un problème avec l'instruction with...? c'est l'erreur 91, j'ai regardé dans l'aide et ils disent que c'est lorsque un objet n'est pas défini or tous les objets ici sont définis...? et je ne peux pas passer outre cette erreur et compiler quand même...? En tout cas merci pour ta réponse...!


Re : VBA Excel graphique le 22/07/2008 10:16:29

NHenry
Membre Club
Bonjour,

C'est que ActiveChart est Nothing, il faut que tu sélectionne le graph avant de lancer la macro.

Ma signature pour pointer sur mon site

Re : VBA Excel graphique le 22/07/2008 10:19:28

skyvi
peus tu être un peu plus explicite stp... Qu'entend tu par sélectionne le graph...?


Re : VBA Excel graphique le 22/07/2008 10:54:42

skyvi
C'est bon j'ai réussi à résoudre le problème maintenant quand je remet la même formulation mais pour faire le demi cercle du bas et bien il me dit qu'il y a un autre problème (erreur 1004) alors que je ne fais que rajouter une variable qui est la longueur entre les deux demi cercle...?
As tu une réponse...?
Merci par avance




[Page 1 Page 2 Page 3]
Classé sous : vba, excel, graphique

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

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

Boutique

Boutique de goodies CodeS-SourceS