Bonjour,
Je souhaite créer une macro excel qui me genere automatiquement un graphe a partir de deux colonnes.
La premiere en valeur de l' abscisse et la seconde comme valeurs pour la courbe
Donc je lai fait par excel et je lai enregistré par macro.
J'obtiens le graphe suivant :
Jai recopié le code de la macro enregistrée et je lai mis ds ma macro
Le graphe se créée mais plusieurs pb surviennent lors de la création dont un message d'erreur du compilateur:
Erreur d'éxécution 438
Propriété ou méthode non généré par cet objet
La courbe apparait mais les valeurs de l'abscisse ne correspondent pas
ils commencent à 1 alors que mes valeurs ds ma premiere colonne commence à 6
Les titres et la mise en forme du graphe ne fonctionne pas, Voila ce que j'obtiens :
Voici le code utilisé:
Code :
- Range("A2:B" & (Count + 1)).Select
- Charts.Add
- ActiveChart.ChartType = xlLineMarkers
- ActiveChart.SetSourceData Source:=NewSheet.Range("A2:B" & (Count + 1)), PlotBy _
- :=xlColumns
- ActiveChart.SeriesCollection(1).Delete
- ActiveChart.SeriesCollection(1).XValues = "=" & NewSheet & "!R2C1:R" & (Count + 1) & "C1"
- ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="GraphTest"
-
- With ActiveChart
- .HasTitle = True
- .ChartTitle.Characters.Text = "Courbe pour..."
- .Axes(xlCategory, xlPrimary).HasTitle = True
- .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Heures"
- .Axes(xlValue, xlPrimary).HasTitle = True
- .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = _
- "Temps en ms"
- End With
-
- With ActiveChart.Axes(xlCategory)
- .HasMajorGridlines = True
- .HasMinorGridlines = False
- End With
-
- With ActiveChart.Axes(xlValue)
- .HasMajorGridlines = True
- .HasMinorGridlines = False
- End With
-
- ActiveChart.HasLegend = False
- ActiveChart.HasDataTable = False
- Application.WindowState = xlMaximized
- ActiveChart.PlotArea.Select
-
- With Selection.Border
- .ColorIndex = 19
- .Weight = xlThin
- .LineStyle = xlContinuous
- End With
-
- With Selection.Interior
- .ColorIndex = 15
- .PatternColorIndex = 1
- .Pattern = xlSolid
- End With
-
- ActiveChart.Axes(xlCategory).MajorGridlines.Select
- ActiveChart.ChartArea.Select
- ActiveChart.SeriesCollection(1).Select
-
- With Selection.Border
- .ColorIndex = 57
- .Weight = xlThick
- .LineStyle = xlContinuous
- End With
-
- With Selection
- .MarkerBackgroundColorIndex = xlAutomatic
- .MarkerForegroundColorIndex = xlAutomatic
- .MarkerStyle = xlDiamond
- .Smooth = False
- .MarkerSize = 9
- .Shadow = False
- End With
-
- ActiveWindow.Zoom = 70
- ActiveWindow.Zoom = 85
- ActiveChart.PlotArea.Select
-
- With Selection.Border
- .ColorIndex = 19
- .Weight = xlThin
- .LineStyle = xlContinuous
- End With
-
- Selection.Interior.ColorIndex = xlNone
-
- With Selection.Border
- .Weight = xlThin
- .LineStyle = xlAutomatic
- End With
-
- Selection.Interior.ColorIndex = xlNone
- ActiveChart.Axes(xlCategory).MajorGridlines.Select
-
- With Selection.Border
- .ColorIndex = 48
- .Weight = xlHairline
- .LineStyle = xlContinuous
- End With
-
- ActiveChart.PlotArea.Select
- ActiveChart.ChartArea.Select
|
je ne sais pas sil faut que je declare des elements pour le graphe si oui lesquels (ma variable count a bien été déclarée) et dou vient mon pb pour laxe des abscisses
Merci d'avance si qqun peut maider
Alex