Option Explicit
Dim x As Date, kH1 As Byte, kM1 As Long
Private Sub HD_Change()
End Sub
Private Sub UserForm_Initialize()
Me.Height = 273
Lst.List = Array("Arrivée", "Départ -Déjeuner", "Retour -Déjeuner", "Sortie")
End Sub
Private Sub H1_Change()
x = CDate(HD) + IIf(kH1 < H1, CDate(1 & ":00"), -CDate(1 & ":00"))
HD = CStr(Format(x, "hh:mm"))
kH1 = H1
End Sub
Private Sub M1_Change()
x = CDate(HD) + IIf(kM1 < M1, CDate("00:" & 1), -CDate("00:" & 1))
HD = CStr(Format(x, "hh:mm"))
kM1 = M1
End Sub
Private Sub TN_Change()
TN = UCase(TN)
Me.Height = 259.5: Lst.ListIndex = 0
End Sub
Private Sub OK_Click()
Dim L As Byte
L = Lst.ListIndex
If L < 0 Then Exit Sub
Me("C" & L) = HD
If L < 3 Then Lst.ListIndex = L + 1
If L = 3 And C3 <> "" Then TT = CStr(Format(CDate(C3) - CDate(C2) + CDate(C1) - CDate(C0), "hh:mm"))
End Sub
Sub commandButton1_Click()
Dim N As Byte, A()
[D10] = TN
For N = 18 To 21
Cells(N, 4) = CDate(Me("C" & N - 18))
Cells(N, 5) = Hour(Cells(N, 4)) + Minute(Cells(N, 4)) / 60
Next
[D22] = CDate(TT)
[E22] = Hour([D22]) + Minute([D22]) / 60
Unload Me
End Sub
Dim A(5) As Byte '4 cas
Private Sub UserForm_Activate()
Vu
End Sub
Private Sub TN_Change()
A(1) = IIf(TN = "", 0, 1): Vu
End Sub
Private Sub C0_Change()
A(2) = IIf(C0 = "", 0, 1): Vu
End Sub
Private Sub C1_Change()
A(3) = IIf(C1 = "", 0, 1): Vu
End Sub
Private Sub C2_Change()
A(4) = IIf(C2 = "", 0, 1): Vu
End Sub
Private Sub C3_Change()
A(5) = IIf(C3 = "", 0, 1): Vu
End Sub
Private Sub commandButton1_Click()
MsgBox "Enregistrement effectué"
End Sub
Sub Vu()
Dim N As Byte, T As Byte
For N = 1 To 4: T = T + A(N): Next
CommandButton1.Visible = T = 4
End Sub