Bonjour bonjour !
Dans un de mes formulaires, j'ai incorporé un graphique, que je souhaite remplir d'après les données que j'ai dans ma listview (remplie grâce à un super tuto de SilkyRoad )
J'ai ce code :
(pour info IndexCol me renvoie un numéro de colonne)
Ce code marche très bien, mais c'est très très très long. Ca prend jusqu'à 80 secondes pour afficher mon graphique, sachant qu'il y a une centaine de ligne dans ma listview.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Function AfficherGraph() Dim vlDataSheet As Graph.DataSheet Dim Graph_Data As Object Set Graph_Data = Form_Formulaire1.Graph1.Object Set vlDataSheet = Graph_Data.Application.DataSheet vlDataSheet.Cells.Clear vlDataSheet.Cells(1, 1).Value = "Date Heure" vlDataSheet.Cells(1, 2).Value = "PM" vlDataSheet.Cells(1, 3).Value = "PA Aju" vlDataSheet.Cells(1, 4).Value = "PA Alea" vlDataSheet.Cells(1, 5).Value = "PA" For i = 1 To Form_Formulaire1.Form.ListViewCentrale.ListItems.Count vlDataSheet.Cells(i + 1, 1).Value = Form_Formulaire1.ListViewCentrale.ListItems(i).ListSubItems(IndexCol("Début")) vlDataSheet.Cells(i + 1, 2).Value = Form_Formulaire1.ListViewCentrale.ListItems(i).ListSubItems(IndexCol("PM")) vlDataSheet.Cells(i + 1, 3).Value = Form_Formulaire1.ListViewCentrale.ListItems(i).ListSubItems(IndexCol("PA Aju")) vlDataSheet.Cells(i + 1, 4).Value = Form_Formulaire1.ListViewCentrale.ListItems(i).ListSubItems(IndexCol("PA Alea")) vlDataSheet.Cells(i + 1, 5).Value = Form_Formulaire1.ListViewCentrale.ListItems(i).ListSubItems(IndexCol("PA")) Next i End Function
Est-ce que vous auriez une idée/un autre moyen d'afficher mon graphique qui soit peut-être plus optimale que celle-là ?
Merci par avance !
Partager