Bysnu
Messages postés7Date d'inscriptionlundi 15 décembre 2008StatutMembreDernière intervention 7 avril 2009
-
15 déc. 2008 à 15:52
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 2010
-
16 déc. 2008 à 19:51
Bonjour à tous,
Je récupère actuellement des données de masses sous Excel par l'intermédiaire d'une balance.
Je désirerais ajouter à chaque mesure de masse le temps écoulé entre chaque mesure.
Par exemple, je commence à T0 avec une masse de 100g puis lorsque ma masse passe à 200g, je souhaiterais que Excel m'ajoute le temps écoulé depuis la dernière mesure (100g);
Est-ce possible ? Et si oui, auriez-vous des pistes....
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 16 déc. 2008 à 17:33
Private Sub
Command1_Click()
MsgBox GetSecondsElapsed1 & " seconde(s)
écoulée(s) depuis le dernier Command1_Click"
End Sub
Private Sub Command2_Click()
MsgBox GetSecondsElapsed2 & " seconde(s)
écoulée(s) depuis le dernier Command2_Click"
End Sub
'
'
Function GetSecondsElapsed1() As Long
Static dOldDate As Date
Static dNewDate As Date
'
sauvegarde
dOldDate = dNewDate
'
maintenant
dNewDate = Now
' évite un dépassement de
capacité inutile
If dOldDate = 0 Then dOldDate = dNewDate
'
retour
GetSecondsElapsed1 = DateDiff("s", dOldDate, dNewDate)
End Function
'
'
Function GetSecondsElapsed2() As Double
Static dOldTimer As Double
Static dNewTimer As Double
'
sauvegarde
dOldTimer = dNewTimer
'
maintenant
dNewTimer = Timer
' premier
lancement
If dOldTimer = 0 Then dOldTimer = dNewTimer
'
retour
GetSecondsElapsed2 = dNewTimer - dOldTimer
End Function
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 15 déc. 2008 à 16:05
salut,
la fonction "TIMER" te renvoie le nombre de secondes écoulées depuis minuit.
tu peux sauver cette valeur en variable avant et après chaque changement, tu n'as plus qu'à soustraire l'avant-dernière à la dernière pour savoir combien de secondes les séparent
++
<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 20104 15 déc. 2008 à 19:58
Bonjour
J'adore utiliser Timer, qui a une grande résolution (de l'ordre de la milliseconde, mais malheureusement que sous Windows). C'est ce qu'il te faut
si les intervalles de temps entre tes pesées sont courts.
Tu as une autre méthode, DateDiff, utilisable à condition que le délai entre les mesures soit suffisamment grand par rapport à la seconde.
Dans la simulation suivante, on enregistre l'heure de la première pesée, puis on attend un laps de temps,
on enregistre l'heure de la seconde pesée, et on affiche le temps écoulé, exprimé en secondes.
Sub simulationPesee()
Dim t0 As Date, t1 As Date, TempsEcoule As Long
t0 = Now ' enregistre l'heure de la première pesée
Application.Wait Now + TimeValue("0:00:05") ' attend un laps de temps
t1 = Now ' enregistre l'heure de la seconde pesée
TempsEcoule = DateDiff("s", t0, t1) ' calcule puis affiche le temps écoulé, exprimé en secondes
MsgBox TempsEcoule & " seconde(s)"
End Sub
Bysnu
Messages postés7Date d'inscriptionlundi 15 décembre 2008StatutMembreDernière intervention 7 avril 2009 16 déc. 2008 à 16:02
Bonjour,
Merci Orohena pour ta simulation...je l'ai testée dans un module et ça marche !!
Cependant, comment faire pour inverser les actions "laps de temps" et "enregistrer l'heure de pesée" ??
Je m'explique:
1) j'enregistre ma première pesée => l'heure s'enregistre
2) Après un laps de temps inconnu, j'enregistre ma 2eme pesée => l'heure s'enregistre et me donne le laps de temps écoulé
3) ainsi de suite....