Faire un graphique macro excel

Résolu/Fermé
mister-t - 10 janv. 2009 à 14:48
 mister-t - 11 janv. 2009 à 16:00
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

1 réponse

mikebzh Messages postés 127 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 11 mars 2009 28
10 janv. 2009 à 17:39
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
0
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
0
mister-t > mister-t
11 janv. 2009 à 11:03
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
0
mister-t > mister-t
11 janv. 2009 à 16:00
je me reponds a moi meme

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

sourcedata

voila probleme resolu
0