Bonjour à toutes et à tous,
J’ai créé une macro, qui fonctionne parfaitement, et qui me permet de créer un graphique puis ajouter les courbes que je désire dedans.
Jusque-là j’utilise la sélection de donnée via une plage, ainsi*:
Je fais ainsi, parce que mes données sont disponibles dans le fichier Excel. C’est pratique et rapide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Set Serie = ActiveChart. SeriesCollection. NewSeries With Serie . Values = YPlage . XValues = XPlage . Name = CurveName . AxisGroup = CurvesType(k)(2) End With
Toutefois, je dois désormais faire de nouvelles courbes qui sont des interpolations de valeurs. J'arrive à calculer ces valeurs, et j'avais prévu comme possibilité d'écrire ces valeurs dans une colonne dédiée à ceci, puis d'utiliser la méthode ci-dessus pour créer la courbe dédiée.
Toutefois, le temps d'écriture est assez long (on atteint presque la seconde), alors même que j'ai désactivé la mise à jour de l'écran via «*Application. Screenupdating = False*». Si je ne fais pas l'écriture et j'enregistre les valeurs calculées dans une variable, il n'y a pas ce ralentissement.
Je voudrais donc savoir s'il y a moyen de passer de la méthode ci-dessus àcelle-ci-dessous directement issue de l'enregistreur de macro, donc en mettant les valeurs de mon calcul directement dans les valeurs des axes*:
Ce code, je pense sans trop me tromper pouvoir le transformer aisni*:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ActiveChart. FullSeriesCollection(3). XValues = "={1000,1500,2000,2500}" ActiveChart. FullSeriesCollection(3). Values = "={0.02,0.02,0.02,0.03}"
Toutefois, il me reste les valeurs entre guillemets, je ne sais pas comment les compléter correctement. Je suis donc ouvert à vos connaissances pour continuer dans cette voie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Set Serie = ActiveChart. SeriesCollection. NewSeriesWith Serie . Values = "={1000,1500,2000,2500}" . XValues = "={0.02,0.02,0.02,0.03}" . Name = CurveName . AxisGroup = CurvesType(k)(2) End With
Partager