Insertion de pls graphiques dans une feuille excel
Insertion de pls graphiques dans une feuille excel - VB/VBA/VBS - Programmation
MarshPosté le 24-03-2008 à 13:39:50
Bonjour,
comme indiqué dans le sujet, je souhaite insérer plusieurs graphiques dans une même feuille excel, mais avec des données sources différentes. J'ai écrit un premier code générant le premier graphique. Il n'y a alors pas de problème. En revanche, quand j'utilise le même type de code pour générer le second graphique, j'obtiens l'erreur d'exécution 1004 : "la méthode cells de l'objet global a échoué". Pour VBA, les plages ne contiennent aucune donnée. Les variables utilisées sont définies par ailleurs et ne posent aucun pb. (j'ai testé le code du second graphique seul et il fonctionne). Voici le code utilisé :
Sub Graphmagn()
' Tracer un graphique : magnétisation en fonction de Béta
Dim Plagea As Range Dim Plageb As Range Dim Plage As Range
' Définir la plage de données Set Plagea = Range(Cells(2, TR + 3), Cells(m + 1, TR + 3)) Set Plageb = Range(Cells(2, TR + 5), Cells(m + 1, TR + 5)) Set Plage = Union(Plagea, Plageb)
'Propriétés du graphique Charts.Add ActiveChart.ChartType = xlXYScatterLines ActiveChart.SetSourceData SourcePlage, PlotBy:=xlColumns ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1" With ActiveChart .HasTitle = True .ChartTitle.Characters.Text = _ "Evolution de la magnétisation en fonction de la température" .Axes(xlCategory, xlPrimary).HasTitle = True .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Température Béta" .Axes(xlValue, xlPrimary).HasTitle = True .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Magnétisation" End With ActiveChart.HasLegend = False End Sub
Si quelqu'un pouvait m'aider à comprendre. Merci d'avance
Marsh Posté le 24-03-2008 à 13:39:50
Bonjour,
comme indiqué dans le sujet, je souhaite insérer plusieurs graphiques dans une même feuille excel, mais avec des données sources différentes. J'ai écrit un premier code générant le premier graphique. Il n'y a alors pas de problème. En revanche, quand j'utilise le même type de code pour générer le second graphique, j'obtiens l'erreur d'exécution 1004 : "la méthode cells de l'objet global a échoué". Pour VBA, les plages ne contiennent aucune donnée. Les variables utilisées sont définies par ailleurs et ne posent aucun pb. (j'ai testé le code du second graphique seul et il fonctionne).
Voici le code utilisé :
Sub Graphmagn()
' Tracer un graphique : magnétisation en fonction de Béta
Dim Plagea As Range
Dim Plageb As Range
Dim Plage As Range
' Définir la plage de données
Set Plagea = Range(Cells(2, TR + 3), Cells(m + 1, TR + 3))
Set Plageb = Range(Cells(2, TR + 5), Cells(m + 1, TR + 5))
Set Plage = Union(Plagea, Plageb)
'Propriétés du graphique
Charts.Add
ActiveChart.ChartType = xlXYScatterLines
ActiveChart.SetSourceData SourcePlage, PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = _
"Evolution de la magnétisation en fonction de la température"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Température Béta"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Magnétisation"
End With
ActiveChart.HasLegend = False
End Sub
Si quelqu'un pouvait m'aider à comprendre. Merci d'avance