1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Private Sub TBoxHeur_Change()
'https://www.developpez.net/forums/d1861701/logiciels/microsoft-office/excel/contribuez/snipet-saisie-controlee-d-heures-textboxes/
Static a0 As String
TBoxHeur.Text = Saisie_heure(TBoxHeur, a0, "##:##:##")
'ou bien :
'TBoxHeur.Text = Saisie_heure(TBoxHeur, a0, "##:##")
End Sub
Private Function Saisie_heure(t As MSForms.TextBox, w As String, Optional mFormat As String = "##:##") As String
'--merci de laisser ces 2 lignes de commentaires si vous utilisez ce mécanisme--
'-- l'auteur de cette fonction est Jacques Marquès------------------------------
Dim Z As String, kk As String
If Len(w) Mod 3 = 0 And w <> "" Then kk = Left(w, Len(w) - 2)
Saisie_heure = t.Text
If Len(Saisie_heure) = 2 Or Len(Saisie_heure) = 5 Then Saisie_heure = IIf(kk = "", Saisie_heure & ":", kk)
Z = Saisie_heure & Mid(Replace(mFormat, "#", "0"), Len(Saisie_heure) + 1)
If Not Z Like mFormat Or Not IsDate(Z) Then
Saisie_heure = w
Else
w = Saisie_heure
End If
End Function |
Partager