Temps d'execution Macro

emmanuelavril

XLDnaute Nouveau
Bonjour à tous,

Voilà, j'ai développé une petite macro qui sur une certaine base de données me permet de supprimer les lignes qui ne m'interessent pas:

Dim y As Long
Dim Var
Var = Sheets("GENERAL").Range("B20")
For y = Sheets("NAVISION").Range("C65536").End(xlUp).Row To 2 Step -1
If (Sheets("NAVISION").Cells(y, 3).Value > Var And Sheets("NAVISION").Cells(y, 21).Value = "Yes") Then Rows(y).Delete
If (Sheets("NAVISION").Cells(y, 3).Value <= Var And Sheets("NAVISION").Cells(y, 21).Value = "No") Then Rows(y).Delete
Next

Cependant le temps d'execution peut prendre pas mal de temps si il y beaucoup de lignes. (parfois 8 ou 9 minutes)

Connaitriez-vous un moyen de diminuer ce temps d'execution?

Merci beaucoup

++
 

mromain

XLDnaute Barbatruc
Re : Temps d'execution Macro

bonjour emmanuelavril,


Essaye avec ce code :
VB:
Option Explicit


Public Sub Macro()
Dim mem1 As Long, mem2 As Long, mem3 As Long
    
    'mémoriser les options d'excel et les désactiver
    mem1 = Application.ScreenUpdating: Application.ScreenUpdating = False           'raffraichissement de l'affichage
    mem2 = Application.EnableEvents: Application.EnableEvents = False               'gestion des évènements
    mem3 = Application.Calculation: Application.Calculation = xlCalculationManual   'mode de calcul
    
    'Exécuter la macro
    On Error Resume Next
     MacroInt
    On Error GoTo 0
    
    'rétablir les options d'excel
    Application.ScreenUpdating = mem1
    Application.EnableEvents = mem2
    Application.Calculation = mem3
    
End Sub


Private Sub MacroInt()
Dim y As Long, Var As Excel.Range

    Var = Sheets("GENERAL").Range("B20")
    For y = Sheets("NAVISION").Range("C65536").End(xlUp).Row To 2 Step -1
        If (Sheets("NAVISION").Cells(y, 3).Value > Var And Sheets("NAVISION").Cells(y, 21).Value = "Yes") Then Rows(y).Delete
        If (Sheets("NAVISION").Cells(y, 3).Value <= Var And Sheets("NAVISION").Cells(y, 21).Value = "No") Then Rows(y).Delete
    Next
    
End Sub
a+
 
Dernière édition:

mromain

XLDnaute Barbatruc
Re : Temps d'execution Macro

Bonjour emmanuelavril, Mromain

Cela aurait été bien que Emmanuel nous donne la différence de temps entre les 2 codes, histoire de participer un peu à la communauté :).

Bonjour MJ13,

C'est ce que je me suis dit également... :eek:

emmanuelavril, si jamais tu repasse par là, peux-tu nous donner cette différence de temps d'exécution stp ?
Merci

a+
 

Discussions similaires

Réponses
2
Affichages
176
Réponses
1
Affichages
196

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz