A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data.
The procedure Update has to be in a standard module in order to be called from OnTime.
You don't show the definition of mdnexttime, but it would need to be accessible to both the procedures that use it.
I would suggest replacing the activeX buttons with Forms buttons (ActiveX controls on a worksheet are likely to be troublesome), put all the code in a standard module and assign the macros to the buttons.
Dim mdNextTime As Date
Sub Start_Stream_Click()
UpDate
End Sub
Sub Stop_Stream_Click()
If mdnexttime<>0 Then Application.OnTime mdnexttime, "UpDate", , False
mdnexttime = 0
End Sub
Sub UpDate()
….code…..
mdnexttime = Now + TimeValue("00:00:05")
Application.OnTime mdnexttime, "Update"
End Sub