Mesure de temps

GINO83200 -  
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous les lecteurs de ce post,

Je souhaiterais pour mon travail, comptabiliser de manière précise le temps passé sur chaque dossier.
Je créer donc plusieurs feuilles excel (sur le même fichier) auquel j'attribue un nom de dossier.

Ma question est la suivante :

Est-il possible de créer un code VBA ou autre qui m'enclencherais un timer à chaque fois que je change de feuille (dossier)

Ex : je Clic sur la première feuille. Là le timer s'enclenche temps que je suis dessus.
Si je clic sur la seconde, le temps comptabilisé sur la première feuille s'arrête et le timer comptabilise le temps passé sur la deuxième, etc... pour avoir à la fin de la journée le temps passé sur chaque dossier (feuille) !!!


Merci d'avance de m'avoir lu !!!

2 réponses

Patty5083 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir

Voir peut-être ce lien avec la méthode OnTime

http://www.mdf-xlpages.com/modules/publisher/item.php?itemid=14

Bon courage
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Salut,

Bonjour Patty,

A mon sens, utiliser Application.OnTime risque de compliquer le code.

Regarde ce code, à placer dans le module ThisWorkbook :

Option Base 1
'variables au niveau du Module
Dim OldSheet As Integer
Dim Tps() As Double
Dim Temp As Double

'lancement du bouzin
Private Sub Workbook_Open()
ReDim Preserve Tps(ThisWorkbook.Sheets.Count)
Temp = Timer
OldSheet = ActiveSheet.Index
End Sub

'relance le chrono et stocke les temps intermédiaires
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Temp = Timer - Temp
Tps(OldSheet) = Tps(OldSheet) + Temp
OldSheet = ActiveSheet.Index
Temp = Timer
End Sub

'stop final et restitution
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Integer
Temp = Timer - Temp
Tps(OldSheet) = Tps(OldSheet) + Temp
For i = 1 To UBound(Tps)
    MsgBox "Feuille " & Sheets(i).Name & " : " & Tps(i) & " secondes."
Next i
End Sub


🎼 Cordialement,
Franck 🎶
0