Bonjour,
voilà j'ai un petit bout de code qui me prend 24s pour s'executer alors que le code juste après fais 28800*6 calculs en 0.5 secondes donc j'aimerai optimiser celà.
Je passe mes détails mais en gros j'ai 7 ListBox à 2 colonnes ( de "ListBoxGPE1" à "ListBoxGPE7") et je regarde ce qui est sur la colonne de gauche, soit "Production" ou "Arret" pour l'instant.
Sur la colonne de droite, il y a les temps (en minutes) de fonctionnement
Exemple
ListBoxGPE2
Production 1000
Arret 440
je fais un calcul toutes les 3 secondes sur 24h d'où les 28800 valeurs
Enfin je mets les debit de fonctionnement sur un tableau qui s'appelle "DebitEntree" donc voilà
J'aimerai savoir c'est quelle partie qui ralentit mon code
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 For d = 1 To 7 a = 0 b = 0 For i = 0 To 27799 If i * 0.05 = b + Me.Controls("ListBoxGPE" & d).List(a, 1) Then b = b + Me.Controls("ListBoxGPE" & d).List(a, 1) a = a + 1 End If If Me.Controls("ListBoxGPE" & d).List(a, 0) = "Production" Then DebitEntree(i, 0) = DebitEntree(i, 0) + Cells(20, 3 + 2 * d).Value End If If Me.Controls("ListBoxGPE" & d).List(a, 0) = "Arret" Then DebitEntree(i, 0) = DebitEntree(i, 0) + 0 End If Next i Next d
Merci de votre aide
Partager