Format d'heure d'une textbox

mask

XLDnaute Nouveau
Bonsoir. :)

Pourriez vous m'aider s'il vous plait ?

J'ai une TextBox qui doit prendre une heure au format 08h52 par ex.

Le code.

Private Sub TextBox_dureeInc_Change()
Dim txt As Byte
TextBox_dureeInc.MaxLength = 5
txt = Len(TextBox_dureeInc)
If txt = 2 Then
TextBox_dureeInc = TextBox_dureeInc & ":"
End If
End Sub

Le problème est que si je souhaite effacer avec la touche return du clavier je suis
bloqué ici 08: et pas moyen d'effacer le 08:.
Par ailleurs je souhaites aussi ne pas pouvoir renter un heure tels que 22:99 mais être bloqué à 22h59.

Merci d'avance pour le débutant que je suis. :eek:
 

bof

XLDnaute Occasionnel
Re : Format d'heure d'une textbox

bonjour,
Pour le nom du contrôle et la clarté du code j'utilise tbDurInc
une possibilité :
Code:
Private Sub tbDurInc_Change()
 tbDurInc.MaxLength = 5
 If Len(tbDurInc) = 2 Then
 tbDurInc = tbDurInc & ":"
 End If
 If Len(tbDurInc) = 4 And Mid(tbDurInc, 4) > 5 Then
 Beep
 tbDurInc = Left(tbDurInc, 3)
 End If
End Sub

Private Sub tbDurInc_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Select Case KeyAscii
    Case Is < 48, Is > 57
        KeyAscii = 0
    End Select
End Sub

Private Sub tbDurInc_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 8 And Len(tbDurInc) = 3 Then
tbDurInc = Left(tbDurInc, 1)
End If
End Sub
A+
 

mask

XLDnaute Nouveau
Re : Format d'heure d'une textbox

Bonsoir.

Merci beaucoup pour ce bout de code, ça fonctionne car je ne peux pas aller au delà de 59. Mais je ne peux toujours pas effacer en utilisant la touche retour.
Merci grandement de ton aide. :)
 

bof

XLDnaute Occasionnel
Re : Format d'heure d'une textbox

Sissi !
la 3ème macro est faite pour ça...
Remplacer tbDurInc par le nom de ton contrôle

Nota : il est préférable de la remplacer par
Code:
Private Sub tbDurInc_Key[B]Down[/B](ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
 If KeyCode = 8 And Len(tbDurInc) = 3 Then
 tbDurInc = Left(tbDurInc, 1)
 End If
 End Sub
A+
 
Dernière édition:

Statistiques des forums

Discussions
312 490
Messages
2 088 881
Membres
103 981
dernier inscrit
vinsalcatraz