Temps écoulé entre l'ouverture et la fermeture d'une appli

nono78220 Messages postés 181 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 28 octobre 2010 - 30 mai 2007 à 11:50
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 - 30 mai 2007 à 15:33
Bonjour à tous,

Je désirerais calculer le temps qui s'écoule entre l'ouverture et la fermeture d'une application afin de calculer mon temps de travail.

En surfant sur le site, je n'ai pas trouver de codes qui m'ont donné pleine satisfaction.

Quelqu'un peut-il m'aider ?

Merci d'avance

Nono

12 réponses

cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
30 mai 2007 à 11:54
Salut,

Si Jmfmarques passe par là, tu vas avoir un de c'est savon.... Fait une recherche sur le forum, question revenue x fois sur le forum...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
30 mai 2007 à 12:00
Salut,

Tiens regarde ce code de Jmfmarques :

Private Sub Command1_Click()
  Dim var1 As String, var2 As String
  var1 = "2,12" & """" & "30"
  var2 = "5,08" & """" & "40"
  MsgBox "juste pour que tu puisses voir tes variables d'origine, ma foi : " & var1 & "  " & var2
  var1centieme = zigoulizigoulon(var1)
  var2centieme = zigoulizigoulon(var2)
  differencecentieme = var2centieme - var1centieme
  nbcentiemes = differencecentieme Mod 100
  nbsecondes = differencecentieme \ 100
  nbminutes = nbsecondes \ 60
  nbsecondes = nbsecondes Mod 60
  nbheures = nbùonutes \ 60
  nbminutes = nbminutes Mod 60
  MsgBox nbheures & " heure(s) " & nbminutes & " minute(s) " & nbsecondes & " seconde(s) " & nbcentiemes & " centimeme(s)"
End Sub


Private Function zigoulizigoulon(hehe As String) As Long
  pos = InStr(hehe, """")
  pos1 = InStr(hehe, ",")
  zigoulizigoulon = Val(Mid(hehe, pos + 1)) + (100 * Val(Mid(hehe, pos1 + 1, pos - 1))) + (6000 * (Val(Mid(hehe, 1, pos1 - 1))))
End Function


A+
Exploreur

 Linux a un noyau, Windows un pépin


 
0
nono78220 Messages postés 181 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 28 octobre 2010
30 mai 2007 à 12:01
bon je refais une recherche....


 
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
30 mai 2007 à 12:02
Bonjour et salut Exploreur.

Je passe... je passe... je passe le temps...

Tu relèves l'heure de départ dans une variable
Tu relèves l'heure de fin dans une autre
Tu calcules ensuite la durée écoulée entre ces 2 relevés...
Hier encore, j'ai donné un tel code (qu'on pourrait d'ailleurs remplacer par une simple opération arithmétique certes plus lourde mais tout aussi efficae)...
Cherche un peu (je crois que la discussion avait pour titre "35 heures")...et qu'Andregoub en était l'initiateur.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nono78220 Messages postés 181 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 28 octobre 2010
30 mai 2007 à 12:03
nos messages se sont croisés ... merci explorer
0
nono78220 Messages postés 181 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 28 octobre 2010
30 mai 2007 à 12:05
finalement c'est tout bête ....
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
30 mai 2007 à 12:10
LOL,

JMF et le temps ca ne fais qu'un.

Je sais pas si on te la préciser mais tout obtenir le temps actuel, il faut utiliser la fonction Timer.

Donc dans l'evenement load de ton appli tu mets :
valeur_debut = timer.

et sur l'evenement unload tu mets :
valeur_fin = timer - valeur_debut

et ensuite appeler la fonction de conversion que nos chers amis t'ont proposé.

A+
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
30 mai 2007 à 13:25
Salut Nicko,

Minute (sans jeu de mots) là !
Fonction Timer = pas bon ... Pourquoi ?
Ben... parce qu'elle retourne le nombre de secondes écoulées depuis minuit ... (hé ! hé !)
Quid alors d'une durée à mesurer entre minuit - 5 et le lendemain ?
Pas bon, çà !!! Ah que non !
Faut mesurer avec Now, qui, lui, va "ramasser" à la fois la date et l'heure
puis appliquer l'un quelconque de mes exemples...
On le passe, ce temps, hein ?...
On ne rigole jamais avec le temps qui passe....
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
30 mai 2007 à 13:35
Allez !
Regarde cette feinte-là, où on se promème quelques milliers d'années en arrière !

Private Sub Command1_Click()
  datedebut = "01/01/2001 10:22:43"
  datefin = "02/01/2001 10:23:44"
  couic1 = DateAdd("s", DateDiff("s", datedebut, datefin), "01/01/0001")
  MsgBox Day(couic1) - 1 & " jours " & Format(couic1, "hh:mm:ss")
End Sub

C'est quoi, dans cette affaire, datedebut et datefin ? rien d'autre que les 2 mesure de Now, l'une au début et l'autre à la fin.

Amitiés et passe bien le temps, hein ...
S'il ne passe pas assez vite à ton goût : un autre truc : prens une passoire avec de gros trous pour qu'il passe plus vite ...
Je vous l'ai dit : il faut vite m'enfermer avant que je ne fasse des dégats !
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
30 mai 2007 à 14:13
A dsl, je croyais qu'il s'agissait de calculer le temps de travail pour chaque jour (donc dans la journée et pas de passage a minuit).
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
30 mai 2007 à 15:02
Il ne l'a pas précisé...
Alors il faut tout prévoir... y compris ce passage d'un jour à l'autre... (qu'on peut d'ailleurs traiter autrement, mais à condition de ne pas dépasser une durée totale de 24 heures, avec la fonction Timer, comme tu l'avais dit...comment ? en utilisant la différence totale non signée des valeurs négatives...)

exemple où on fixe volontairement debut > fin (donc comme si on avait une valeut timer > au bébut qu'à la fin, si le début est pris un jour et la fin le lendemain)

Private Sub Command1_Click()
  debut = 300000
  fin = 10000
  duree = Abs(-debut - fin)  MsgBox "début " & debut & " - fin " & fin & " - durée = " & duree
End Sub

Mais celà ne peut marcher, bien entendu, que pour une durée maximale de 24 heures au total. si non : on ne sait pas combien de jours auraient pu s'écouler entre le début et la fin (quand on mesure à partir du dernier "minuit" avec la fonction Timer)


Tu vois, Nicko ? (amusant, non ?)
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
30 mai 2007 à 15:33
Depuis le temps que je te suis, je vois tres bien de quoi tu parles Maitre du temps. JMF rebatisé CHRONOS

Ce n'est en effet pas la premiere fois qu'on aborde le sujet.
0