[Word 2010] VBA - chronomètre

Bonjour à tous,

Je suis sous word 2010. Je crée un questionnaire sous word et je voudrais avoir une mesure du temps qu'il faut aux participants pour remplir le questionnaire.

Existe-t-il une possibilité?

D'avance merci,

3 réponses

  1. Bonjour

    Tu peux mettre 2 boutons dans ton questionnaire
    un au début avec"Cliquer ici avant de commencer"
    mettre dans le code du bouton a=time
    un à la fin avec" Cliquer quand vous avez fini" et dans le code du bouton :
    b = Time
    aff = a & " " & b
    WordBasic.ViewFooterOnly
    Selection.TypeText Text:=aff
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument

    Bien déclarer la variable a dans un Module ainsi : Public a as Date

    Quand l'utilisateur aura cliqué sur le second bouton l'heure de début et l'heure de fin seront affichées dans le pied de page

    Cdlmnt
    0
    1. merci pour ta réponse.
      En fait je souhaite que le temps soit compter automatiquement

      Pour le moment j'ai ceci:

      Private Sub Document_Open()
      a = Timer
      End Sub

      Private Sub Document_Close()
      b = Timer
      aff = a & " " & b
      WordBasic.ViewFooterOnly
      Selection.TypeText Text:=aff
      ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
      End Sub

      A la fermeture, ça m'écrit bien un chiffre en bas de page mais il n'est pas correct...(style 60455,09)

      N'y connaissant rien au VBA...je suis pas dans la merde...toute aide est la bienvenue.
      0
      1. Declare bien les variables dans un module
        Public a as date
        public b as date
        0
    2. J'ai encore changé mon code et essayé ceci:

      Private Sub Document_Open()
      start = Now
      End Sub

      Private Sub Document_Close()
      WordBasic.ViewFooterOnly
      Selection.TypeText "Time now is " & DateDiff(n, start, Now)
      ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
      End Sub

      sans succès lol
      0
      1. Sans s'occuper du pied de page :

        chez moi ceci fonctionne
        Private Sub Document_Close()
        b = Time
        Selection.TypeText Text:=Chr(10) & a & " * " & b 'va à la ligne et inscris heure a et heure b
        End Sub

        Private Sub Document_Open()
        a = Time
        End Sub

        Avec dans Module 1 les déclarations :
        Public a As Date
        Public b As Date

        A suivre
        0
      2. super merci!

        Sais-tu si l'on peut soustraire ces deux valeurs?
        j'ai essayé le code suivant mais sans succès...je tombe sur 0 à chaque fois...
        Private Sub Document_Open() 
        a = Time 
        End Sub 


        Private Sub Document_Close() 
        b = Time 
        Dim TotalTime As Integer 
        TotalTime = TimeValue(b) - TimeValue(a) 
        WordBasic.ViewFooterOnly 
        Selection.TypeText Text:=TotalTime 
        ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument 
        End Sub
        0
      3. Il ne faut pas oublier de declarer les variables dans un module
        Public a as variant
        Public b as variant

        essaye plutôt ainsi
        dans Open
        a=now

        et dans Close
        b = Now
        s = DateDiff("s", a, b)
        m = DateDiff("n", a, b)
        h = DateDiff("n", a, b)
        Total = h & ":" & m & ":" & s
        0
      4. errata!

        avant dernière ligne il faut bien évidemment lire h=DateDiff("h",a,b)
        0
      5. quand j'essaye ton code je n'ai rien qui s'affiche...
        du coup j'ai changé un peu et j'ai mis ça et ça fonctionne!

        Private Sub Document_Open()
        a = Now
        
        End Sub
        
        Private Sub Document_Close()
        b = Now 
        s = DateDiff("s", a, b) 
        m = DateDiff("n", a, b) 
        h = DateDiff("h", a, b) 
        WordBasic.ViewFooterOnly 
        Selection.TypeText Text:=h & ":" & m & ":" & s 
        ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument


        Merci beaucoup pour ton aide.

        Maintenant les choses se compliquent. J'aimerais qu'il additionne les différents temps d'ouverture...une idée?
        0