Bonjour à tous,
Après avoir longtemps cherché sans vraiment trouver de solution, je m'en remets à vous.
Je recherche une astuce pour optimiser le temps de traitement et d'affichage de graphique contenant des séries de plusieurs centaines de milliers de lignes (~500 000 lignes)
Je construis les graphiques dont j'ai besoin en VBA. Mais les temps de traitement lorsque j'implémente les séries sont juste super long ! (>1min par série). Auriez vous une astuce pour accélérer ? Une autre façon d'écrire ? Ou à défaut une façon de réduire la série avec un échantillonnage (1 valeur sur 100) qui permette de gagner du temps ?
Merci beaucoup pour vos conseils !
Après avoir longtemps cherché sans vraiment trouver de solution, je m'en remets à vous.
Je recherche une astuce pour optimiser le temps de traitement et d'affichage de graphique contenant des séries de plusieurs centaines de milliers de lignes (~500 000 lignes)
Je construis les graphiques dont j'ai besoin en VBA. Mais les temps de traitement lorsque j'implémente les séries sont juste super long ! (>1min par série). Auriez vous une astuce pour accélérer ? Une autre façon d'écrire ? Ou à défaut une façon de réduire la série avec un échantillonnage (1 valeur sur 100) qui permette de gagner du temps ?
Merci beaucoup pour vos conseils !
VB:
With GraphsSheet.ChartObjects(j).Chart
.ChartType = xlXYScatterLinesNoMarkers
NameRng = DataSheet.Cells(1, 2).Value
Set xRng = DataSheet.Range(DataGraphSheet.Cells(2, 1), DataGraphSheet.Cells(2, 1).End(xlDown))
Set yRng = DataSheet.Range(DataGraphSheet.Cells(3, 2), DataGraphSheet.Cells(3, 2).End(xlDown))
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = xRng ' c'est la que c'est super long
.SeriesCollection(1).Values = yRng ' et la aussi
.SeriesCollection(1).Name = NameRng
End With