View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Rob van Gelder[_4_] Rob van Gelder[_4_] is offline
external usenet poster
 
Posts: 1,236
Default Problem with hundredth of seconds

Time() returns a number already rounded to seconds.

Try a higher resolution timer via API:


Declare Function timeGetTime Lib "winmm.dll" () As Long

Sub test()
Dim lng As Long

lng = timeGetTime()
Range("A1:IV60000").Value = 1 'example to create delay
lng = timeGetTime() - lng

MsgBox lng & " milliseconds"
End Sub


--
Rob van Gelder - http://www.vangelder.co.nz/excel


"Daniel" wrote in message
...
Hello.
I use the following code to get an executing time in cell A1 :

HeureDebut = time()
code......
HeureFin = time()
Duree = HeureFin - HeureDebut
Range("A1").value = Duree

I get numbers such as 0.000173611111111138 in standard number format.
If I use hh:mm:ss.00 as a mask, I dont get but zeroes after the seconds :
00:15:00
I use ROUNDED(0.000173611111111138,6) to get 00:15:03.
This doesn't affect the calculations, only the display.
Why cant Excel use the numbers provided by VBA ?
Thanks in advance.
Daniel