Bonjour à tous,
Dans mon fichier Excel, je génère à l'aide de code VBA un graphique, dont les sources de données sont variables.
Alors jusque là, pour y arriver, je faisais mes petits calculs, et mettais les résultats sur une plage de cellules, que je renseignais ensuite comme source de données pour mon graphique, à l'aide du code suivant :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatterLinesNoMarkers
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Name = nom1
ActiveChart.SeriesCollection(1).XValues = dataserie1
ActiveChart.SeriesCollection(1).Values = dataserie2
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).Name = nom2
ActiveChart.SeriesCollection(2).XValues = dataserie3
ActiveChart.SeriesCollection(2).Values = dataserie4 |
Voilà ce code marche très bien, les variables nom1 et nom2 sont les titres des deux séries de mon graphique, et les "dataseries" 1, 2, 3 et 4 sont des String contenant quelque chose comme :
dataserie1 = "Sheet3!$E$8:$E$" & nbreligne
avec un nbreligne variable en function de la taille de mes séries de données.
Mon problème est le suivant : comme puis-je renseigner une source de donnée au graphique dans le code, à l'aide d'un tableau declaré et remplis dans le code, sans devoir coller les données en question dans mon fichier Excel, et de faire ma bidouille décrite dans mon code plus haut ?
Je sais bien que ce code relève pour le moment du bricolage, et j'aimerais donc pouvoir faire quelque chose de plus sérieux.
( PS : autre souci : dans Excel les graphiques dépendent d'une source de donnée présente sur une page et donc se vident si l'on supprime les données sur la page en question. Comment se débarasser de cette dépendance afin de pouvoir justement renseigner la source de donnée uniquement à l'aide de calculs faits dans le code )
Voilà, merci beaucoup pour toute astuce / solution et désolé pour le long poste
Partager