Dim boolStop As Boolean
Sub Chrono()
Temps = Now + TimeValue("00:00:01")
If Not boolStop Then
Application.OnTime Temps, "Chrono"
Else
boolStop = False
End If
Sheets("ENJEUX").Range("O16").Value = Time
End Sub
Sub StopChrono()
boolStop = True
End Sub
Votre idée de départ était bonne sauf que Application.OnTime Temps, "Chrono", , Schedule:=False ne pouvait pas fonctionner parce que Temps était vide au lieu de contenir le temps qui avait été fixé par la première procédure. En effet ce sont deux variables locales indépendantes détruites à la sortie de chaque procédure. Pour qu'elle soit conservé dans une variable unique il faut impérativement la déclarer comme variable globale en tête du module. Et ce (très vive recommandation) de préférence derrière Option Explicit.
Sub Chrono()
Temps = Now + TimeValue("00:00:01")
If Not boolStop Then
Application.OnTime Temps, "Chrono" 1ere macro qui lance l'horloge
Else
boolStop = False
End If
Sheets("ENJEUX").Range("O16").Value = Time
End Sub