je voudrai bien que vous m'aidez à optimiser le temps d’exécution de la macro suivante qui ' Copie depuis un tableau la premiere ligne puis elle met le resultat de cette ligne ( qui est dans une autre feuille) dans une feuille appelé Feuil2 et puis elle pase à la ligne suivante et agrège les résultats de chaque ligne dans cette feuille , ceci tout en calculant le temps écouplé , le temps restant d'éxecution et le temps total estimé , et renvoie ) la fin le temps effectivement écoulé .
Voila le 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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Sub ElapsedTime()
   Dim StartTime As Double, EndTime As Double
   'Stores start time in variable "StartTime"
   StartTime = Timer
   'Aggregation"
   i = 2
   j = 2
   k = 4
 
   Application.ScreenUpdating = False
   For k = 8 To 11517
    Application.StatusBar = (k - 8) * 100 / 11509 & "%" & "  " & Format$(Timer - StartTime) & "s ecoulées " & "    Temps restant estimé :" & (11517 - k) * Format$(Timer - StartTime) / k & "s" & "Durée total d'éxecution " & Format$(Timer - StartTime) + (11517 - k) * Format$(Timer - StartTime) / k
    DoEvents
 
    Sheets("MP").Select
    Rows(k).Select
    Application.CutCopyMode = False
    Selection.Copy
    Rows(3).Select
    ActiveSheet.Paste
 
    For i = 2 To 100
        For j = 2 To 36
        Sheets("Feuil1").Select
        Cells(i, j) = Cells(i, j) + Worksheets(6).Cells(i, j).Value
 
 
        Next j
    Next i
Next k
 
 Application.StatusBar = False
 Application.ScreenUpdating = True
   'Stores end time in variable "EndTime"
   EndTime = Timer
   'Prints execution time in the debug window
   Debug.Print "Execution time in seconds: ", EndTime - StartTime
'Shows Message Box with elapsed time
   MsgBox "Execution time in seconds: " + Format$(EndTime - StartTime)
End Sub