Rechercher : dans
Par :

Faire un graphique macro excel

Dernière réponse le 11 jan 2009 à 16:00:10 mister-t, le 10 jan 2009 à 14:48:52 
 Signaler ce message aux modérateurs

Bonjour,

j'ai un petit probleme avec une macro. Celle ci fait apparaitre un graphe dans une feuille puis dans une userform

les données du graphe sont:
A19:A50 valeurs en abscisse
F19:F50 valeurs en ordonnées

serie 1

A19:A50 valeurs en abscisse
I19:I50 valeurs en ordonnées

serie 2

Le souci vient du code de: ActiveChart.SeriesCollection(2).Name = "=""Moyenne"""

La methode seriecollection de l'objet chart a echoué


Peut etre que le graphe ne se réalise pas comme il le faudrait ?

je vous met le code:

Sub graphique()

Dim annee, mois As String

annee = UserForm7.ComboBox2.Value
mois = UserForm7.ComboBox1.Value

If mois = "01" Then

Range("A19:A50,F19:F50,I19:I50").Select
Charts.Add
ActiveChart.ChartType = xlXYScatterSmooth
ActiveChart.SetSourceData Source:=Sheets(annee).Range("A19:A50,F19:F50"), _
PlotBy:=xlColumns
ActiveChart.SeriesCollection(1).Name = "=""Kilometrage"""
ActiveChart.SetSourceData Source:=Sheets(annee).Range("A19:A50,I19:I50"), _
PlotBy:=xlColumns
ActiveChart.SeriesCollection(2).Name = "=""Moyenne"""

ActiveChart.Location Where:=xlLocationAsNewSheet
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Mois"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Jours"
.Axes(xlValue, xlPrimary).HasTitle = False
.Export _
Filename:="D:\Roger\Dossier personnel\Vélo\Graphes\janvier.gif", filtername:="GIF"
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True

End With



Image1.Picture = LoadPicture("D:\Roger\Dossier personnel\Vélo\Graphes\janvier.gif")
End If

End Sub



Merci pour les réponses a venir

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « faire un graphique macro excel » dans :
Exécuter une macro VoirExécuter une macro Excel et Calc proposent plusieurs façons d’exécuter une macro : en la sélectionnant dans une liste, dans la boîte de dialogue Macro ; par un raccourci clavier ; en l’attachant à un bouton de la barre d’outils ; ...

1

mikebzh, le 10 jan 2009 à 17:39:09

Coucou

ActiveChart.SeriesCollection(2).Name = "=""Moyenne"""

En fait, il doit te prendre seulement ............... .Name = "=", il faut que tu protèges les caractères spéciaux ou tu fais une chaine de caractère du style
titre$ = "=" & chr$(34) & "Moyenne" & chr$(34) titre$ vaudra alors ="Moyenne"
...... .Name = titre$

Ou alors moyenne étant une fonction, cela peut mettre l'ordi en bourrique

A plus

Répondre à mikebzh

2

mister-t, le 11 jan 2009 à 10:56:54

Salut a toi et merci pour cette premiere réponse

J'ai essayé de faire une chaine de caractère comme tu me l'as indiqué mais malheureusement ce n'est pas la solution
le compilateur me répond toujours le meme message d'erreur

en fait j'ai remarqué que cela peut peut etre venir de

Activechart.seriescollection(2). name..............

une autre solution peut etre
merci

Répondre à mister-t

3

mister-t, le 11 jan 2009 à 11:03:38

En fait si je met un 1 dans
Activechart.seriescollection(1).name=titre$
alors il me trace bien la courbe avec comme legende Moyenne mais efface l'autre qi s'appelle kilometrage

je pense qu'il ne trouve pas les données de la série 2

peut etre il faut voir la dessus
merci

Répondre à mister-t

4

 mister-t, le 11 jan 2009 à 16:00:10

Je me reponds a moi meme

il suffisait de definir correctement les données source de la seriecollection 2 dans

sourcedata

voila probleme resolu

Répondre à mister-t
Collection CommentÇaMarche.net