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 :

Macros de chronomètres


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 6
    Par défaut Macros de chronomètres
    bonjour,

    Je suis complètement novice en vba sous excel.
    Je suis enseignant et je recherche le moyen de chronométrer la durée des travaux de tous mes élèves en même temps.
    J'ai réussi à trouver sur le net quelques macros permettant de faire tourner ces chronomètres sur une page excel.

    Les chronomètres fonctionnent impecc, mais dès que je change de classeur excel, pendant le fonctionnement de la macro, les timers des chronomètres s'arrêtent en m'indiquant "erreur d'éxécution 13".

    J'ai déjà essayer de passer l'ensemble des macros dans le code de la page contenant les chronomètres au lieu des modules du projet mais sans succés.

    J'ai toujours la solution de faire attention et ne n'ouvrir que le classeur contenant la fauille avec les chronos mais cela manque de flexibilité.

    En espérant avoir été clair dans ma demande et en remerciant d'avance les âmes charitables qui se pencheront sur ce petit souci.

    Cordialement

  2. #2
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    bonjour,

    et quelles sont les macro emplyées pour l'instant??

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bonjour,

    Je lis partout que les Select et autres Activate ralentissent le code.
    Si c'est, en partie, vrai, ce n'est pas leur seul inconvénient.

    Ce qu'il faudrait écrire, en insistant, c'est que les Select rendent le code instable.

    Ca parlerait, sans doute, mieux aux débutants qui, bien souvent, ne se préoccupent pas des lenteurs éventuelles. Surtout pour des petits traitements.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  4. #4
    Membre éprouvé Avatar de Vadorblanc
    Profil pro
    Inscrit en
    Février 2008
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 309
    Par défaut
    Bonjour
    En réponse à Alain Tech, moi qui me situe débutant en macros j'utilise l'éditeur de macros pour élaborer mes codes, et heureusement que cet outils existe car je n'en serais pas là aujourd'hui, ensuite j'essaie d'arranger le code en fonction de mes connaissances, j'essaie d'ajouter des bouts de code, je remercie aussi le forum pour les aides qu'il m'a déjà beaucoup apporté, et j'essaie d'avancer. Souvent je vois que les Selects sont décriés par les spécialistes, moi je n'ai jamais eu de soucis même si je ne supprime pas cette forme d'écriture, et ce serait très long de les supprimer, car souvent des codes issus de l'éditeur comportent ses éléments. J'ai des codes qui enchainent sur des dizaines de modules dont l'éditeur m'a rendu de grands services sans constater aucun problème. Je bloque sur l'élaboration de boucles qui pour moi restent encore trop compliqués à réaliser et dont l'éditeur est incapable.
    Pour moi merci l'éditeur même avec ses sélects et un grand merci à ce forum pour toutes les particularités que seul des passionnés peuvent résoudre.

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    L'enregistreur de macro est très utile, même pour des programmeurs confirmés.
    Mais...
    Il ne faut l'utiliser que pour connaître une syntaxe spécifique telle que "comment ajouter un label dans un graphique" ou "comment mettre le texte d'une cellule ( ou une partie de celui-ci) en gras".

    Pour le reste, il est (à mon avis) impératif de corriger le code généré et de remplacer tous les Select par une syntaxe plus "propre".

    Vadorblanc, comme tu le dis, tu es débutant. Ce qui veut dire que tu as peu d'expérience.
    Tu admettras que quelqu'un qui dit, je déforme à dessein, "je n'ai pas d'expérience mais je n'ai jamais eu de problème" c'est un comme quelqu'un qui dirait "je ne conduis que depuis quinze jour mais je n'ai jamais eu d'accident".

    Lorsque tu auras eu à traiter un fichier qui s'envoie en l'air dès qu'un utilisateur clique ailleurs que ce qui a été prévu, tu repenseras à ce que j'ai dit ici.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 6
    Par défaut
    Bonjour

    Voici la macro qui me pose souci , les chronomètres s'arrêtent ( le message erreur apparaît même ) dès que j'ouvre une autre feuille excel :

    "
    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
    41
    42
    43
    44
    Public ProchainChrono1
    Sub Demarrer1()
     [TempsDépart1] = Timer()
     majChrono1
    End Sub
    Sub majChrono1()
     temp = (Timer() - [TempsDépart1]) / 3600 / 24
     Sheets("Chronomètres").Shapes("MonChrono1").TextFrame.Characters.Text = Format(temp, "hh:mm:ss")
     ProchainChrono1 = Now + TimeValue("00:00:1")
     Application.OnTime ProchainChrono1, "majChrono1"
    End Sub
    Sub Dpause1()
      [pause1] = True
      On Error Resume Next
      Application.OnTime ProchainChrono1, Procedure:="majChrono1", Schedule:=False
      [débutPause1] = Timer()
    End Sub
    Sub Fpause1()
     If [pause1] = True Then
     [pause1] = False
     [TempsDépart1] = [TempsDépart1] + (Timer() - [débutPause1])
     majChrono1
    End If
    End Sub
    Sub raz1()
     [TempsDépart1] = 0
     [pause1] = False
     [débutPause1] = 0
     On Error Resume Next
     Application.OnTime ProchainChrono1, Procedure:="majChrono1", Schedule:=False
     Sheets("Chronomètres").Shapes("MonChrono1").TextFrame.Characters.Text = ""
    End Sub
    Sub Fpause()
     If [pause1] = True Then
     [pause1] = False
     [TempsDépart1] = [TempsDépart1] + (Timer() - [débutPause1])
     majChrono1
    End If
     If [pause2] = True Then
     [pause2] = False
     [TempsDépart2] = [TempsDépart2] + (Timer() - [débutPause2])
     majChrono2
    End If
    End Sub
    "

    Merci d'avance

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

Discussions similaires

  1. [VB6] Exécuter une macro Access
    Par Nektanebos dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 22/02/2006, 16h32
  2. Comment chronométrer une fonction
    Par 323 dans le forum Pascal
    Réponses: 3
    Dernier message: 19/03/2003, 20h24
  3. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 12h15
  4. Qu'est-ce qu'une macro ?
    Par karli dans le forum Assembleur
    Réponses: 2
    Dernier message: 01/09/2002, 03h38
  5. Réponses: 2
    Dernier message: 22/07/2002, 12h13

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