Erreur Dépassement de capacité
sormick
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai un code VBA qui me permet de calculer le Temps écoulé en Heures/Minutes/Secondes.
Mais Parfois j'ai l'Erreur suivante (Dépassement de Capacité)
Est t'il possible d'éviter ce type d'Erreur?
Voici mon code:
j'ai un code VBA qui me permet de calculer le Temps écoulé en Heures/Minutes/Secondes.
Mais Parfois j'ai l'Erreur suivante (Dépassement de Capacité)
Est t'il possible d'éviter ce type d'Erreur?
Voici mon code:
Dim mnt As Date
mnt = Now()
Dif = DateDiff("s", t, mnt) ' diff en secondes
H = Dif \ 3600 ' nb Heures
M = (Dif Mod 3600) \ 60 ' nb Minutes
S = Dif Mod 60 ' Nb secondes
res = CDate(H & ":" & M & ":" & S)
Me.Label2.Caption = res
4 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
peut-être :
dim dif as long
Bonjour sormick,
Pourquoi « \ 3600 » et « \ 60 » ?
Il me semble que ça devrait plutôt
être « / 3600 » et « / 60 », non ?
Cordialement. :)
Pourquoi « \ 3600 » et « \ 60 » ?
Il me semble que ça devrait plutôt
être « / 3600 » et « / 60 », non ?
Cordialement. :)
bonjour
valeur et type de "t" ?
valeur et type de "t" ?
Bonjour
tu écris
t=now() ?
et dans ton code
mnt = Now()
Dif = DateDif("s", t, mnt)
donc...
maquette "qui marche"
avec Mnt écris dans A1 pour tester la macro
Abs permet de mesurer la différence absolue entre Mnt antérieur ou postérieure à Now()
tu écris
t=now() ?
et dans ton code
mnt = Now()
Dif = DateDif("s", t, mnt)
donc...
maquette "qui marche"
avec Mnt écris dans A1 pour tester la macro
Abs permet de mesurer la différence absolue entre Mnt antérieur ou postérieure à Now()
Option Explicit
Sub ccm()
Dim Mnt As Date, T As Date, Dif As Long
Mnt = Range("A1")
T = Now()
Dif = Abs(DateDiff("s", Mnt, T)) ' diff en secondes
MsgBox Dif
End Sub
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
Je te propose ceci:
dim h as long, m as integer, s as integer h = Int(24 * (mnt - t)) m = Int(60 * (24 * (mnt - t) - h)) s = Round(60 * (60 * (24 * (mnt - t) - h) - m), 0)