Private TEST As Boolean 'déclare la variable TEST
Private Sub Worksheet_Change(ByVal Target As Range)
Dim V As Double 'déclare la variable V (Valeur)
Dim H As Byte 'déclare la variable H (Heure)
If IsNumeric(Target.Value) = False Then Exit Sub 'si la valeur n'est pas numérique, sort de la procédure
If Target.Cells.Count > 1 Then Exit Sub 'si selection multiple, sort de la procédure
If Target.Value = "" Then Exit Sub 'si la cellule est effacée, sort de la procédure
If TEST = True Then Exit Sub 'si TEST est [VRAI], sort de la procédure (pour éviter la boucle sur l'événement Change)
H = IIf(CInt(Target.Value) < 1000, CByte(Left(Target.Value, 1)), CByte(Left(Target.Value, 2))) 'définit l'heure H en selon inférieure ou supérieure à 10
V = H / 24 + CByte(Right(Target.Value, 2)) / 60 / 24 'définit la variable V
TEST = True 'définit la variable TEST
Target.Value = Format(V, "hh:mm") 'revoie la valeur V dans la cellule
TEST = False 'redéfinit la variable TEST
End Sub