Chronometre

salut à tous,
je veux réaliser une feuille excel avec un chrono qui me permettra de calculer le temps que je passe sur une application et faire un cumul.
En appuyant sur un bouton "départ", le chrono se lance
Et en appuyant sur "stop" il s'arrête
Ensuite, dans une cellule, il m'affiche le temps écoulé.

Merci d'avance pour votre aide
Configuration: Windows XP
Internet Explorer 6.0

5 réponses

  1. Contributeur
    Plus simple...
    Coller un bouton et dans le code du bouton...
    Private Sub CommandButton1_Click()
    Static OnTime As Boolean
    Static TimeON As Date
        OnTime = Not OnTime
        If OnTime Then
            TimeON = Time ' TimeSerial(Hour(Time), Minute(Time), Second(Time))
            Range("A1") = ""
            Range("A1").NumberFormat = "[hh]:mm:ss"
        Else
            Range("A1") = Time - TimeON
        End If
    End Sub

    A+
    1. Bonjour,

      Merci de ton message,
      Après avoir saisi les infos que tu m'as communiquées,
      En cellule A1,
      Il m'affiche "Faux"
      le chrono ne tourne pas,
      Je pense qu'il y aurait un petit souci quelque part.
  2. Contributeur
    Y a un petit souci comme tu dis, mais il ne vient pas du code communiqué.
    Le bouton doit provenir de la boite à outils contrôles.

    Placer le bouton sur la feuille.
    Double clic dessus et copier le code DANS CETTE FEUILLE et ne pas recopier 2 fois
    Private Sub CommandButton1_Click()

    Cliquer 1 fois, le chrono démarre
    Une 2èm fois le chrono arrète et affiche le temps dans A1
    Et in ne saurait pas afficher FAUX !!
    1. Merci pour ton aide.
      le code fonctionne bien.
      Mais je souhaiterais, en fait, que le temps entre les deux pressions soit soit affiché dans une autre cellule et si possible qu'il y est cumul.
      Une fois de plus merci.
      Cordialement

      Yfchauer
      1. Contributeur
        Pour ça tu doit ajouter un 2ém bouton pour l'intermédiaire.
        Remplace le code par celui-ci
        Dim TimeON As Date
        Dim OnTime As Boolean
        
        Private Sub CommandButton1_Click()
        'Intermédiaire
            Range("A1") = Time - TimeON
        End Sub
        
        Private Sub CommandButton2_Click()
        'Démarre/arrète
            OnTime = Not OnTime
            If OnTime Then Timer
        End Sub
        Sub Timer()
        Static S As Byte
            TimeON = Time
            Range("A1") = ""
            While OnTime
                If S <> Second(Time) Then
                    Range("B1") = Time - TimeON
                    S = Second(Time)
                End If
                DoEvents
            Wend
        End Sub

        A+