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 :

Chronometre Simple pour temps de réunion


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 71
    Par défaut Chronometre Simple pour temps de réunion
    Bonsoir,

    Débutant en VBA, j'ai trouvé la macro de mes rêves, me permettant de chronométrer simplement une réunion ( bouton start & stop )

    seul problème : le chrono s’arrête quand on rempli une case.

    J'aimerais savoir si il existe un moyen pour que le chronométre continue d'incrémenter en tache de fond.

    Merci d'avance pour votre aide

    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
    'Pour démarrer le compteur il faut lancer la macro
    'DemarreCalculTps
    'Pour l 'arrêter il faut exécuter
    'ArretCalculTps
    'Code à placer dans un module
     
    Dim ok As Boolean
    Sub DemarreCalculTps()
    ok = True
    Range("A1").Value = TimeValue("00:00:00")
    Application.OnTime Now + TimeValue("00:00:01"), "mettre_a_jour"
    End Sub
     
    Sub mettre_a_jour()
    If ok Then
    Range("A1").Value = [A1] + TimeSerial(0, 0, 1)
    Range("A1").NumberFormat = "hh:mm:ss"
    Application.OnTime Now + TimeValue("00:00:01"), "mettre_a_jour"
    End If
    End Sub
     
    Sub ArretCalculTps()
    ok = False
    End Sub
     
     
        'Range("A1").Select
        'ActiveCell.FormulaR1C1 = Timer

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    avec DoEvents ça devrait bien se passer

    une contribution appliquée : http://www.developpez.net/forums/d15...on-simultanee/
    et une autre contribution alternative "clé en main" : http://www.developpez.net/forums/d15.../chronometres/

  3. #3
    Expert confirmé
    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
    Par défaut
    Salut, voir Chronometres ..... 3 chronos pour le prix d'un.
    Images attachées Images attachées  

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 71
    Par défaut
    Merci beaucoup pour ces exemples, Joe et Kiki.

    La solution à Kiki cependant me convient moins, car impose un userform. J'aimerais que le chrono se mette en route dans une petite case dans un coin de la feuille et quand on clique sur Stop, le temps est enregistrer sur la case.

    L'ouverture de dll est obligatoire pour cette tache de fond ? ( qui fonctionne quand on saisie un truc en réunion par exemple )

    En fait, la macro que j'ai mise en premier message est bien, mais écrit directement dans la case, au lieu de passer par une variable ( je ne sais pas non plus si la macro est totalement stoppée si on saisit une case.


    EDIT / MODIFICATION : J'ai trouvé quelque chose qui me convient parfaitement ( voir ci-joint ), par contre je ne sais pas trop comment l'adapter à mon fichier ( et puis ça à l'air compliqué par rapport à la macro du premier message.

  5. #5
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    sauf erreur, la première contribution va te permettre de régler le problème d'arrêt du chrono quand tu modifies une cellule ?

    et si tu veux, lors du stop, sauvegarder la valeur, il suffit d'ajouter une ligne dans ta procédure stop qui va écrire la valeur de la cellule ailleurs pour stocker le temps final ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 71
    Par défaut
    En fait je pense que je ne me suis pas assez bien exprimé en premier lieu, je vais retenter :

    J'aimerais rajouter une petite case dans un coin de feuille excel, un petit compteur qui se lance dès l'ouverture du excel qui comptabilise les secondes. et qui sera enregistré à la fin de la réunion.

    C'est pour mon boss, car notre équipe est lessivée de ses réunions qu'il appelle "la Réunion 5 minutes" dure en fait 2heures...

    Et notre chef écrit sur le fichier pendant la réunion, d’où la petite subtilité que le compteur doit continuer de compter même en mode Saisie utilisateur.

    J'aimerais également éviter les librairies et dll, car ordinateur entreprise très bridé, etc...

    voila

    EDIT/MODIFICATION : Je confirme que la 1ere contribution est très interessante, ainsi que la fonction DoEvents ( que je ne connaissais pas merci ), mais je n'ai pas la compétence VBA pour transformer cette pendule en chronomêtre... ( novice à 100% )

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

Discussions similaires

  1. Conseils sur une API simple pour Windows
    Par alejandro dans le forum Choisir un environnement de développement
    Réponses: 4
    Dernier message: 28/04/2005, 18h12
  2. Calcul simple pour code couleur
    Par Boumeur dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 16/04/2005, 10h51
  3. Méthode simple pour gérer les collisions
    Par Hyoga dans le forum OpenGL
    Réponses: 2
    Dernier message: 19/02/2005, 13h43
  4. Réponses: 2
    Dernier message: 08/04/2004, 11h11
  5. recherche exemple simple pour corba en c++
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 06/05/2002, 11h29

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