Private Sub CommandButton1_Click()
If TextBox_Date = "" Then Exit Sub
Range("C6") = CDate(Me.TextBox_Date)
Range("C7") = Year(CDate(Me.TextBox_Date)) & "/" & Month(CDate(Me.TextBox_Date)) & "/" & 1
End Sub
Private Sub TextBox_Date_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox_Date <> "" Then If Len(TextBox_Date) < 10 Then Cancel = True: MsgBox "tête d'ail regarde ce que tu fait!!"
End Sub
Private Sub TextBox_Date_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
datebox TextBox_Date, KeyCode
End Sub
Public Sub datebox(tbx, ByVal KeyCode As MSForms.ReturnInteger)
Dim V$
With tbx
V = .Value
If Len(V) = 2 Or Len(V) = 5 Then V = V & "/"
Select Case KeyCode
Case 96 To 105
V = V & Chr(KeyCode - 48)
If Len(V) = 2 Or Len(V) = 5 Then V = V & "/"
If Val(V) > 31 Then V = ""
If Len(V) >= 5 Then
If Val(Mid(V, 4, 2)) > 12 Then V = Mid(V, 1, 3): Beep
If Len(V) = 5 Then If Not IsDate(Left(V, 5) & "/2000") Then V = Left(V, 3): Beep
If Len(V) = 10 Then If Not IsDate(V) Then V = Left(V, 6): Beep
End If
If Len(V) = 2 Or Len(V) = 5 Then V = V & "/"
.Value = Mid(V, 1, 10)
KeyCode = 0
Case 46, 8, 13, 9
Case Else: Exit Sub
End Select
End With
End Sub