Depassement de Capacité Numerique

lowave -  
 lowave -
Bonjour,
j'ai recuperé cette procedure sur le net.
j'essaye de faire une petite procedure de "wait" attente pendant quelque seconde.
---------------------
Sub Wait (ByVal nSecond As Single)
Dim t0 As Single
t0 = Timer
Do While Timer - t0 < nSecond
Dim dummy As Integer
dummy = DoEvents()
If Timer < t0 Then
t0 = t0 - 24 * 60 * 60 ' si on depasse minuit on retranche un jour
End If
Loop
End Sub
----------------------
Le probléme c'est que quand on dépasse minuit j'ai un message de depassement de capacité Numerique ?!
Une idée ?
Merci !

2 réponses

le père
 
Bonjour

pendant le calcul de 24 * 60 * 60, VB ne voit que des entiers. Donc il fait la multiplication en entiers, et ça dépasse 32767... il suffit d'écrire 24.0 *60.0 *60.0 pour qu'il fasse ses opérations en flottant
0
lowave
 
ça Marche !
Merci ! :)
0