Private Sub Worksheet_Change(ByVal Target As Range)
Dim deb As Range, h, i&, j%
Set deb = [B11]: h = deb '1ère cellule
Application.EnableEvents = False
For i = 1 To 5 * 52 Step 5
For j = 1 To 5 * 7 Step 5
If Not IsEmpty(deb(i, j)) Then
If Not IsDate(deb(i, j).Text) Then deb(i, j).Select: _
MsgBox "Entrez une heure valide !", 48: deb(i, j) = "": GoTo 1
If 1 + deb(i, j) < h + 19 / 24 Then deb(i, j).Select: _
MsgBox "L'amplitude de 12 heures n'est pas respectée !", 48: deb(i, j) = "": GoTo 1
End If
h = deb(i, j)
Next j, i
1 Application.EnableEvents = True
End Sub