IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

calculer le temps d'execution


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut calculer le temps d'execution
    Comment on peut calculer le temps d'execution de ces deux procedure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     With Worksheets(1).Range("a1:a100")
     Set s = .Find(10)
     Cells(1, 3) = s.Address
    End With
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    With Worksheets(1)
    For Each s In .Range("a1:a100")
        If s = 10 Then
       Cells(1, 3) = s.Address
       Exit Sub
       End If
      Next s
    End With

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Points : 542
    Points
    542
    Par défaut
    bonsoir,

    regarde la fonction api gettickcount
    voir aussi "chronometre" de ouskel 'n 'or dans les contributions

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    470
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 470
    Points : 493
    Points
    493
    Par défaut
    Bonsoir
    au debut de la procedure
    avant de sortir de la proc
    Bonne soirée.

  4. #4
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272
    Par défaut
    Salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Declare Function QueryPerformanceCounter Lib "Kernel32" (X As Currency) As Boolean
    Private Declare Function QueryPerformanceFrequency Lib "Kernel32" (X As Currency) As Boolean
     
    Dim Debut As Currency, Fin As Currency, Freq As Currency
    QueryPerformanceCounter Debut
    .....
    QueryPerformanceCounter Fin
    QueryPerformanceFrequency Freq
    .....
    Application.StatusBar = Format(((Fin - Debut) / Freq), "0.00")

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonjour,

    Contente-toi de relever l'heure de début, celle de fin... et de faire la différence (par datediff) en secondes.
    Bien évidemment, tu vas me dire qu'une durée en secondes est peu précise...

    Alors ?

    on fait tout bêtement chaque traitement un grand nombre de fois (10000 fois par exemple), puis on divise la durée par ce nombre de fois (/10000, donc).
    On atteint ainsi un résultat bien plus juste que l'approximation inévitable à 16 ou 17 ms sur une seule "passe" ...

    C'est un peu comme si tu voulais peser un seul petit pois à l'aide d'une balance peu précise ===>> delta d'erreur relativement important...
    Mets donc 10000 petits pois ==>> pèse ===>> divise le poids par 10000 ===>> delta d'erreur bien plus réduit.

    Il va de soi que plus le nomnre d'itérations est élevé, meilleure est la précision de la conclusion. (100 000 fois valent mieux que 10 000, etc...)

    Enfin ... ce n'est que mon avis ...

  6. #6
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    Merci à vous je vais tester ça

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calculer le temps d'execution d'un code
    Par siham-gh dans le forum Débuter
    Réponses: 8
    Dernier message: 10/05/2012, 14h04
  2. Calcul du temps d'execution..
    Par SPKlls dans le forum Zend Framework
    Réponses: 1
    Dernier message: 02/12/2008, 15h04
  3. Calcul du temps d'execution en millisecondes
    Par Yakurena dans le forum C++
    Réponses: 2
    Dernier message: 18/04/2007, 01h45
  4. Calculer le temps d'execution
    Par smail21 dans le forum Langage
    Réponses: 21
    Dernier message: 06/05/2006, 16h06
  5. comment calculer le temps d'execution
    Par passion_info dans le forum C++Builder
    Réponses: 1
    Dernier message: 09/06/2005, 09h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo