OVH Cloud OVH Cloud

Timer

4 réponses
Avatar
rech logis
Bonjour,

Je souhaite connaitre le code avec lequel dès que je change d'application me
mentionne sous excel le temps passé avant la fermeture (Pourquoi cela me
direz vous je suis consultant et je souhaiterais connaitre le temps passé
sur chaque dossier (logiciel différents)

D'avance merci

Franck

4 réponses

Avatar
Jean-Marc
"rech logis" a écrit dans le message de
news:BF4CED63.4F2%
Bonjour,

Je souhaite connaitre le code avec lequel dès que je change d'application


me
mentionne sous excel le temps passé avant la fermeture (Pourquoi cela me
direz vous je suis consultant et je souhaiterais connaitre le temps passé
sur chaque dossier (logiciel différents)



Hello,

pas très simple. Je peux imaginer un programme
qui va à intervalle régulier chercher la liste des fenêtres
ouvertes, compare cette liste avec la liste à l'instant
t-1, note les ouverture et fermetures, enregistre les temps
de début et de fin de tout cela puis fais les soustractions
nécessaires, appli (donc fenêtre) par appli.

On peut peut être aussi juste jouer avec GetForegroundWindow()
qui donnera de meilleurs résultats encore, surtout si tu lances
plusieurs programmes en même temps, tu pourrais logguer les vrais
temps passés dans la fenêtre active (celle qui est au premier plan).

En fin de journée, ou à intervalle fixe, met à
jour un fichier csv voire écrit directement dans une feuille
Excel.

Amha, Tu peux partir sur cette base pour faire quelques chose.

Tu as quelques heures de programmation devant toi pour faire qq
chose qui marche bien :-)

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
Jean-Marc
"Jean-Marc" a écrit dans le message de
news:43273470$0$6575$
"rech logis" a écrit dans le message de
news:BF4CED63.4F2%
> Bonjour,
>
> Je souhaite connaitre le code avec lequel dès que je change


d'application
me
> mentionne sous excel le temps passé avant la fermeture (Pourquoi cela me
> direz vous je suis consultant et je souhaiterais connaitre le temps


passé
> sur chaque dossier (logiciel différents)



Allez, tant que j'y étais...

Tu as 99,9% du boulot fait. Reste à adapter aux logiciels
que tu utilises, en mettant les bon noms dans Form_load.
Ajuster NB_APP en fonction du nombre d'applis.
Les labels sont la juste pour faire joli, on peut les
enlever.

Il ne reste qu'à faire la sauvegarde dans un fichier csv
ou Excel directment des valeurs des App_time(n).

Moi ce que je ferais, je ferais une sub Sauvegarde()
et je l'appelerais toutes les 5 minutes par exemple,
ainsi que dans le form_unload.

Je metterais tout ça dans un simple fichier texte (csv),
il est inutile d'alourdir ce petit programme tout simple
en lui infligeant une liaison forte avec une application
tierce, alors qu'un fichier texte est si pratique.

'
'
Option Explicit

Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA"
(ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

Const NB_APP As Long = 2
Const TIMER_INTER As Long = 1000

Dim Applis(NB_APP) As String
Dim App_time(NB_APP) As Long

Private Sub Form_Load()
Dim i As Integer

Timer1.Interval = TIMER_INTER ' 1 seconde
Applis(1) = "Microsoft Word"
Applis(2) = "Microsoft Excel"

For i = 1 To NB_APP
lblApplis(i - 1) = Applis(i)
Next i

End Sub

Private Sub Timer1_Timer()
Dim ret As Long
Dim title As String
Dim i As Integer

title = String(256, " ")
ret = GetForegroundWindow
GetWindowText ret, title, 255
Label1.Caption = title
For i = 1 To NB_APP
If InStr(title, Applis(i)) > 0 Then
App_time(i) = App_time(i) + (TIMER_INTER / 1000)
Exit For
End If

Next i
For i = 1 To NB_APP
lblTpsAppli(i - 1) = App_time(i)
lblTpsAppli(i - 1).Refresh
Next i
End Sub


--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
Gloops
Sinon avec certaines versions il suffit de regarder dans
Fichier/Propriétés, onglet statistiques.
Avatar
ANDBRETON
l'Activation du journal d'outoolk permet de suivre les applications
Office.

Timeo danaos et donna ferentes