Soyez le premier à donner votre avis sur cette source.
Snippet vu 26 580 fois - Téléchargée 57 fois
'pour une addition operation=0, pour une soustraction operation=1 Public Function heurop(heure1 As String, heure2 As String, operation As Integer) As String If operation = 0 Then somme = Val(DatePart("h", heure1)) * 3600 + Val(DatePart("n", heure1)) * 60 + Val(DatePart("s", heure1)) + Val(DatePart("h", heure2)) * 3600 + Val(DatePart("n", heure2)) * 60 + Val(DatePart("s", heure2)) heurop = Str(somme \ 3600) + ":" + Str((somme - (somme \ 3600) * 3600) \ 60) + ":" _ + Str(somme - ((somme \ 3600) * 3600) - ((somme - (somme \ 3600) * 3600) \ 60) * 60) ElseIf operation = 1 Then diff = Val(DatePart("h", heure1)) * 3600 + Val(DatePart("n", heure1)) * 60 + Val(DatePart("s", heure1)) - Val(DatePart("h", heure2)) * 3600 - Val(DatePart("n", heure2)) * 60 - Val(DatePart("s", heure2)) heurop = Str(diff \ 3600) + ":" + Str((diff - (diff \ 3600) * 3600) \ 60) + ":" + _ Str(diff - ((diff \ 3600) * 3600) - ((diff - (diff \ 3600) * 3600) \ 60) * 60) End If End Function
c une vielle source mais je voudrais poser une petite question
si j'additionne la date d'aujourd'hui et que je lui rajoute 20 heure il passe au jour suivant normale (9:28:00+20:00:00= 5:28:00)
donc je me suis dit que si je mais date.now + 20:00:00 il devrais me trouve :25/11/2009 05:28:00
en realité le resultat est 02/01/2001 05:28:00
pourquoi ?
01:02:12 au lieu de 1:2:12
'pour une addition operation=0, pour une soustraction operation=1
Public Function heurop(heure1 As String, heure2 As String, operation As Integer) As String
If operation = 0 Then
somme = Val(DatePart("h", heure1)) * 3600 + Val(DatePart("n", heure1)) * 60 + Val(DatePart("s", heure1)) + Val(DatePart("h", heure2)) * 3600 + Val(DatePart("n", heure2)) * 60 + Val(DatePart("s", heure2))
heurop = Str(somme \ 3600) + ":" + Str((somme - (somme \ 3600) * 3600) \ 60) + ":" + Str(somme - ((somme \ 3600) * 3600) - ((somme - (somme \ 3600) * 3600) \ 60) * 60)
heurop = TimeSerial(Str(somme \ 3600), Str((somme - (somme \ 3600) * 3600) \ 60), Str(somme - ((somme \ 3600) * 3600) - ((somme - (somme \ 3600) * 3600) \ 60) * 60))
ElseIf operation = 1 Then
diff = Val(DatePart("h", heure1)) * 3600 + Val(DatePart("n", heure1)) * 60 + Val(DatePart("s", heure1)) - Val(DatePart("h", heure2)) * 3600 - Val(DatePart("n", heure2)) * 60 - Val(DatePart("s", heure2))
heurop = TimeSerial(Str(diff \ 3600), Str((diff - (diff \ 3600) * 3600) \ 60), Str(diff - ((diff \ 3600) * 3600) - ((diff - (diff \ 3600) * 3600) \ 60) * 60))
End If
End Function
NouvelleHeure = AncienneHeure + TimeSerial(nbHeures, nbMinutes, nbSecondes)
si heure1 va être ajoutée à heure2 ou le contraire, et surtout quel doit être le format des heures...
Ton code marche sûrement très très bien, mais il est difficile à comprendre malheureusement
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.