[Word 2010] VBA - chronomètre

Fermé
wayreth Messages postés 2144 Date d'inscription vendredi 11 juin 2004 Statut Contributeur Dernière intervention 18 mars 2013 - Modifié par wayreth le 18/03/2013 à 15:45
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 - 21 mars 2013 à 18:11
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,


A voir également:

3 réponses

via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 704
19 mars 2013 à 14:50
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
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
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 704
19 mars 2013 à 17:24
Declare bien les variables dans un module
Public a as date
public b as date
0
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
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 704
19 mars 2013 à 19:16
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
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
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 704
20 mars 2013 à 21:30
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
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 704
20 mars 2013 à 21:31
errata!

avant dernière ligne il faut bien évidemment lire h=DateDiff("h",a,b)
0
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