Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Pourquoi une telle différence de temps?

Paulle

XLDnaute Occasionnel
Bonjour à tous.
En cliquant sur le bouton TRI, le temps d’exécution est d'environ 1 seconde.
Si je lance la macro à partir de l'onglet développeur, c'est 0,15 seconde.
Pourquoi une telle différence de temps?

Est-il possible de simplifier le code vba?

Merci.
 

Pièces jointes

  • ClaseurA01.xlsm
    32.7 KB · Affichages: 7

fanch55

XLDnaute Barbatruc
Salut, la différence de temps est infime, dérisoire et aléatoire, elle est dépendante de ton système et de l'instant t ...
En poussant la simplification à l’extrême ( ce qui ne fait pas forcément gagner du temps ) :
VB:
Option Explicit
Sub Macro1()
Dim start, T
start = Timer

'
Application.ScreenUpdating = False
    With [T_Fetes].ListObject.Sort
        .SortFields.Clear
        .SortFields.Add2 SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal, _
            Key:=[T_Fetes[Date_Prochaine]]
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    
    With [T_Anniversaires].ListObject.Sort
        .SortFields.Clear
        .SortFields.Add2 SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal, _
            Key:=[T_Anniversaires[Prochain Anniversaire]]
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    
Application.ScreenUpdating = True

'Mesure temps
T = Timer
MsgBox "durée du traitement: " & Format(T - start, "00.00000") & " secondes " & vbLf & "t=" & T & vbLf & "s=" & start
    
End Sub
 

Discussions similaires

Réponses
9
Affichages
361
Réponses
4
Affichages
352
Réponses
12
Affichages
546
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…