Données source graphique excel depuis VBA [Résolu/Fermé]

Signaler
Messages postés
9760
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
5 mai 2021
-
Messages postés
9760
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
5 mai 2021
-
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

2 réponses

Messages postés
9760
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
5 mai 2021
2 106
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
1823
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
604
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+