Retour en arrière dans TextBox formatée

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Papynou

XLDnaute Occasionnel
Bonjour le forum,

Je souhaite formater une TextBox, destinée à recevoir une date, pour qu’à la saisie cette dernière s‘affiche suivant le format jj/mm/aa.

J’ai essayé les trois codes ci-dessous :

N°1
Valeur = Len(Me.TextBox1)
If Valeur = 2 or Valeur = 5 Then Me.TextBox1 = Me.TextBox1 & "/"

N°2
Private Sub Tbcompte_Change()
Dim Numb As String
Numb = Tbcompte
Select Case Len(Numb)
Case 3, 6
Numb = Numb & " / "
End Select
Tbcompte = Numb
End Sub

N°3
Public fl As Boolean

Private Sub TextBox1_Change()
Dim i As Integer
With Me.TextBox1
i = Len(.Value)
If fl Then fl = False
If i = 2 Then
.Value = .Value & "/"
End If
If i = 5 Then
.Value = .Value & "/"
End If
End With
End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii <> Asc(" ") And KeyAscii > 47 And KeyAscii < 58 Then
fl = True
Else
KeyAscii = 0
End If
End Sub

Je n’en n’ai pas encore trouvé d’autres en fouillant dans les archives, mais ça viendra surement 😀

Mon problème est le suivant. Peu importe le code employé, une fois la saisie effectuée si l’on s’aperçoit d’une erreur et que l’on veut la corriger, le retour en arrière est impossible car le point d’insertion bloque sur le « / » rajouté. La seule solution est de sélectionner l’ensemble de la saisie et d’utiliser la touche retour. 😕

Je ne trouve pas ça pratique du tout aussi si quelqu’un a une explication et pourquoi pas, une solution, je suis preneur.
 
Re : Retour en arrière dans TextBox formatée

Bonjour jp14,

J'avoue ne pas comprendre ta piste.

Ma question est : Est-ce possible d'effacer ou modifier la saisie, dans un TextBox formaté, en utilisant le retour en arrière ?

Je la complète : Si oui, pourquoi est-ce chez moi ça ne fonctionne pas ?

Mauvais code, propriétés mals définies...
 
Re : Retour en arrière dans TextBox formatée

bonjour le forum une facon de faire
Option Explicit
Dim Chge As Boolean
Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Select Case KeyCode
Case Is = 8
Chge = True
Case Is = 13, 96 To 105
Case Else
KeyCode = 0
End Select
End Sub
Private Sub TextBox2_KeyUP(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Select Case KeyCode
Case Is = 46
Chge = True
TextBox2 = ""
End Select
End Sub
Private Sub TextBox2_Change()
If Not Chge Then
With TextBox2
Select Case Len(.Text)
Case 2, 5
.Text = .Text & "/"
End Select
End With
Else
Chge = False
End If
[i11] = TextBox2
End Sub'salutations
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
524
Réponses
5
Affichages
295
Réponses
2
Affichages
185
Retour