1/5 (1 avis)
Snippet vu 39 632 fois - Téléchargée 29 fois
Sub queljour() Dim dateinter, date1 As Date Dim dateinter2 As Date Dim jours11 As Integer Dim jours112 As Integer On Error GoTo errorx date1 = CDate(Text1.Text) dateinter = date1 - (Date + Time) jours11 = date1 - (Date + Time) heuresX = Format(Hour(dateinter) + (jours11 * 24)) minx = Format(Minute(dateinter), "00") secx = Format(Second(dateinter), "00") heuresX2 = heuresX / 2 minx2 = minx / 2 secx2 = secx / 2 If heuresX2 <> CInt(heuresX2) Then heuresX2 = heuresX2 - 0.5 minx2 = minx2 + 30 End If If minx2 > 60 Then heuresX2 = heuresX2 + 1 minx2 = minx2 - 60 End If If minx2 <> CInt(minx2) Then minx2 = minx2 - 0.5 secx2 = secx2 + 30 End If If secx2 > 60 Then minx2 = minx2 + 1 secx2 = secx2 - 60 End If Label2.Caption = (heuresX & " Heures " & minx & " min " & secx & " sec. ") Label3.Caption = heuresX2 & " Heures " & minx2 & " min " & secx2 & " sec. " Exit Sub errorx: i = MsgBox("Mauvais format pour la date", vbCritical, "..TA..") End Sub
16 mai 2006 à 21:12
Je donne juste un autre exemple de calcul de différence de temps (que j'avais fait ya quelques temps) et qui est un tout petit peu plus rapide en exécution (0,093ms contre 0,1ms testé en fesant un benchmark sur le code direct dans vb) mais surtout dont le traitement n'est pas du tout le même.
Private Sub diff_temps()
Dim madate As Date
madate = CDate(Text1.Text)
diff = DateDiff("s", Now, madate) 'renvoi la différence de temps en secondes
jours = CInt(diff / 86400)
heure = CInt((diff Mod 86400) / 3600)
minutes = CInt(((diff Mod 86400) Mod 3600) / 60)
secondes = CInt((((diff Mod 86400) Mod 3600) Mod 60))
Label1 = jours & " jours " & heure & " heures " & minutes & " minutes " & secondes & " secondes"
End Sub
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.