Données source graphique excel depuis VBA

Résolu/Fermé
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 - 22 févr. 2011 à 17:54
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 - 22 févr. 2011 à 21:14
Bonjour,

un problème pour definir les données source d'un graphique depuis VBA

- depuis la feuille pour les valeursX ceci marche ={1,5.2}

- mais je n'arrive pas a faire la meme chose depuis VBA

Private Sub CommandButton1_Click()
Dim x1 As Long, x2 As Long, y1 As Long, y2 As Long
x1 = 1: x2 = 2
y1 = 6: y2 = 9
  With ActiveSheet.ChartObjects(1).Chart
   .SeriesCollection(1).XValues = "={" & x1 & ";" & x2 & "}"
   .SeriesCollection(1).Values = "={" & y1 & ";" & y2 & "}"
  End With
End Sub

Private Sub CommandButton2_Click()
Dim x1 As Single, x2 As Single, y1 As Single, y2 As Single
x1 = 1.5: x2 = 2
y1 = 6: y2 = 9
  With ActiveSheet.ChartObjects(1).Chart
   .SeriesCollection(1).XValues = "={" & x1 & ";" & x2 & "}"
   .SeriesCollection(1).Values = "={" & y1 & ";" & y2 & "}"
  End With
End Sub


le bouton1 fonctionne, le bouton2 ne fonctionne pas (erreur 1004)
je dois mal m'y prendre, je suppose que c'est une sombre histoire de virgule ou de point decimal,

quelqu'un aurait il une idée

merci

A voir également:

2 réponses

ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
22 févr. 2011 à 21:14
re
merci, c'est nettement plus simple comme ça et en plus ça marche,
ça faisait un bon bout de temps que je me cassais le nez là dessus
par contre, mon bouton 2 avec un décimal ne fonctionne pas chez moi, et dans le fond, tant mieux, puisque ta solution est nettement plus légère.
cordialement
1
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
22 févr. 2011 à 19:04
Bonjour,

Chez moi cela fonctionne.

A tout hasard, as tu essayé cette syntaxe :

With ActiveSheet.ChartObjects(1).Chart
.SeriesCollection(1).XValues = Array(x1, x2)
.SeriesCollection(1).Values = Array(y1, y2)

A+
0