Votre question

VB et les graphiques

Tags :
  • Axes
  • Programmation
Dernière réponse : dans Programmation
12 Mars 2010 10:56:56

Bonjour,

Je débute avec les graphiques générés par le VB et je me perds un peu.

Bon alors voici mon code :
  1. Charts.Add
  2. ActiveChart.ChartType = xlXYScatter
  3. ActiveChart.SetSourceData Source:=Sheets("Newsletter journaliere SRP").Range("E4,E176:E184,J4,J176:J184"), _
  4. PlotBy:=xlColumns
  5.  
  6. ActiveChart.SeriesCollection.NewSeries
  7. ActiveChart.SeriesCollection(1).XValues = "=Newsletter journaliere SRP!E4"
  8. ActiveChart.SeriesCollection(1).Values = "=Newsletter journaliere SRP!E176:E184"
  9. ActiveChart.SeriesCollection.NewSeries
  10. ActiveChart.SeriesCollection(2).XValues = "=Newsletter journaliere SRP!J4"
  11. ActiveChart.SeriesCollection(2).Values = "=Newsletter journaliere SRP!J176:J184"
  12.  
  13. ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Graph3init"
  14.  
  15. With ActiveChart
  16. .HasTitle = False
  17. .Axes(xlCategory, xlPrimary).HasTitle = True
  18. .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Mbain"
  19. .Axes(xlValue, xlPrimary).HasTitle = True
  20. .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "P pic EDE"
  21. End With


Je veux un graphique à deux séries mais je ne comprends pas trop comment on donne les paramètres...
Premierement je ne sais même pas si la ligne source est correct :
  1. ActiveChart.SetSourceData Source:=Sheets("Newsletter journaliere SRP").Range("E4,E176:E184,J4,J176:J184"), _
  2. PlotBy:=xlColumns


Deuxiement j'ai un message d'erreur lorsqu'on arrive ici :
  1. ActiveChart.SeriesCollection.NewSeries
  2. ActiveChart.SeriesCollection(1).XValues = "=Newsletter journaliere SRP!E4"
  3. ActiveChart.SeriesCollection(1).Values = "=Newsletter journaliere SRP!E176:E184"


C'est quoi la différence entre XValues et Values ?

Par avance merci.

Yohanssen

Autres pages sur : graphiques

12 Mars 2010 12:32:08

J'ai bien avancé sur la résolution de mon problème, voici l'état actuel du code :
  1. Charts.Add
  2. ActiveChart.ChartType = xlXYScatter
  3. ActiveChart.SetSourceData Source:=Sheets("Newsletter journaliere SRP").Range("E4, J4, M4"), _
  4. PlotBy:=xlColumns
  5.  
  6. ActiveChart.SeriesCollection(1).Select
  7. ActiveChart.SeriesCollection(1).XValues = ThisWorkbook.Sheets("Newsletter journaliere SRP").Range("B176:B184").Value
  8. ActiveChart.SeriesCollection(1).Values = ThisWorkbook.Sheets("Newsletter journaliere SRP").Range("E176:E184").Value
  9. ActiveChart.SeriesCollection(1).Name = ThisWorkbook.Sheets("Newsletter journaliere SRP").Range("E4").Value
  10. ActiveChart.SeriesCollection.NewSeries
  11. ActiveChart.SeriesCollection(2).Select
  12. ActiveChart.SeriesCollection(2).XValues = ThisWorkbook.Sheets("Newsletter journaliere SRP").Range("B176:B184").Value
  13. ActiveChart.SeriesCollection(2).Values = ThisWorkbook.Sheets("Newsletter journaliere SRP").Range("J176:J184").Value
  14. ActiveChart.SeriesCollection(2).Name = ThisWorkbook.Sheets("Newsletter journaliere SRP").Range("J4").Value
  15. ActiveChart.SeriesCollection.NewSeries
  16. ActiveChart.SeriesCollection(3).Select
  17. ActiveChart.SeriesCollection(3).XValues = ThisWorkbook.Sheets("Newsletter journaliere SRP").Range("B176:B184").Value
  18. ActiveChart.SeriesCollection(3).Values = ThisWorkbook.Sheets("Newsletter journaliere SRP").Range("M176:M184").Value
  19. ActiveChart.SeriesCollection(3).Name = ThisWorkbook.Sheets("Newsletter journaliere SRP").Range("M4").Value
  20.  
  21. ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Graph SRP"
  22.  
  23. With ActiveChart
  24. .HasTitle = False
  25. .Axes(xlCategory, xlPrimary).HasTitle = True
  26. .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Dates"
  27. .Axes(xlValue, xlPrimary).HasTitle = True
  28. .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Valeurs"
  29. End With


Mon seul problème est que la ligne d'abcisse en bas, ne prends pas les valeurs que je cherche à lui donner, c a d Range("B176:B184")
La il me met un numéro par enregistrement, c a d 1 2 3 4 5 etc...

Une idée ?
Merci
m
0
l
12 Mars 2010 12:50:24

Pourquoi est-ce que ça marche lorsque je met le type de graphique ActiveChart.ChartType = xlLine et pas ActiveChart.ChartType = xlXYScatter

Vraiment louche ...
m
0
l
Contenus similaires
12 Mars 2010 13:33:11

Quelqu'un sait comment mettre la légende en abscisse en vertical ?
m
0
l
12 Mars 2010 15:56:58

c'est frais je fais le post tout seul :) 

Bon et pour placer un graphique sur une feuille précise ?

  1. Worksheets("Anniversaire A avec BA").ChartObjects(1).Chart _
  2. .Location xlLocationAsObject, "Monthly Sales"


ça ne marche pas ..

Merci.
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS