jeromebd73
Messages postés1Date d'inscriptionmercredi 21 juin 2006StatutMembreDernière intervention10 janvier 2008
-
10 janv. 2008 à 18:32
zen69
Messages postés584Date d'inscriptionjeudi 28 décembre 2006StatutMembreDernière intervention29 avril 2010
-
10 janv. 2008 à 22:14
Bonjour. Je fait mes premiers pas sur VBS et j'essaie d'écrire un programme pour soustraire des heures tel que:
1° on saisit une heure au format hh:mm
2° On saisit une deuxième heure au meme format
3° Un MsgBOx apparait avec l'égart de temps (format hh:mm)entre les deux.
Quelle fonction doit-je utiliser?avec quelle syntaxe?
Voilà ce que j'ai fais mais ça ne fonctionne pas.
Merci d'avance.
Dim ha,heure_arriver
ha = InputBox("Saisir une heure","heure d'arriver")
heure_arriver = TimeValue (ha)
Dim hd,heure_depart
hd = InputBox("Saisir une heure"," Heure départ")
heure_depart = TimeValue (hd)
dim d,deplacement
d = (hd-ha)
MsgBox d,,"premier déplacement"
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 10 janv. 2008 à 21:18
Bonsoir Jacques,
ou même
Dim date1, date2
date1 = Now
date2 = DateAdd("n",-30, date1)
MsgBox date1 &vbCr& date2 &vbCr&_
DateDiff("n", date1, date2) &vbCr&vbcr&_
Replace(FormatDateTime(TimeSerial(8 - 6, -15, 0),vbShortTime),":","h")
le datediff avec "h" sera incomplet, il ne prendra pas en compte hh:mn
l'utilisation du datediff avec "n" implique une transformation du résultat en hh:mn
J'ai adopté le dateserial avec formatdatetime.
pour [auteur/JEROMEBD73/805511.aspx jeromebd73]: attention à vérifier la saisie des inputboxs.
Les 2 variables doivent accepter le CDate [voir fonction IsDate].
jean-marc
Vous n’avez pas trouvé la réponse que vous recherchez ?
zen69
Messages postés584Date d'inscriptionjeudi 28 décembre 2006StatutMembreDernière intervention29 avril 20101 10 janv. 2008 à 22:14
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Fonction : calcInterval
' Description : Calcul un interval
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Autheur : Julien Bonnier
' Date : 12 decembre 2006
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Input : TIME IN SECS
' Output : INTERVAL
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Modifications:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Function calcInterval(time As Long) As String
Dim s As Long 'secondes (0)
Dim m As Long 'minutes (1)
Dim h As Long 'heures (2)
Dim tmp As Variant
Dim t As String
Dim ta() As String
If time < 60 Then
s = time
ElseIf time > 60 And time < 3600 Then
tmp = time / 60
ta() = Split(tmp, ".")
m = ta(0)
s = Round((Left(ta(1), 2) / 100) * 60, 0)
ElseIf time > 3600 Then
h = time / 3600
ta() = Split(h, ".")
h = ta(0)
time = time - (h * 3600)
tmp = time / 60
ta() = Split(tmp, ".")
m = ta(0)
s = Round(ta(1) * 60, 0)
End If
t = IIf(h > 0, h & "h", "") & IIf(m > 0, m & "m", "") & s & "s"
calcInterval = t
End Function