Comment effacer une saisi dans une textbox formule automatique

Fermé
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 - 19 mai 2016 à 08:13
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 - 19 mai 2016 à 15:22
Bonjour,

voilà j'ai une textbox avec ce code ci dessous, cela permet d'afficher en tapant 01022016 que cela se change automatiquement en 01/02/2016.
mais quand on se trompe de date par exemple je ne peu effacer que les chiffres et se bloque sur les /
par exemple je tape "01" le "/" s'affiche automatiquement mais si je me suis trompé de jour en faisant retour arrière des touches du clavier cela se bloque sur le "/" est ne l'efface pas, y à t'il une petite ligne de code me permettant se retour arrière????

merci

voici le bout de code

Private Sub TextBox3_Change()

' Cette procèdure permet de mettre automatiquement une date au format 00/00/0000 dans une textbox

Dim valeur As Byte
TextBox3.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
valeur = Len(TextBox3)
If valeur = 2 Or valeur = 5 Then TextBox3 = TextBox3 & "/"

' cette procédure permet de renseigner la cellule B8 en fonction de la donnée
' écrite dans le formulaire à la parti DATE

Sheets("BASE de DONNEE").Select
[B8] = TextBox3

End Sub
A voir également:

2 réponses

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
19 mai 2016 à 12:01
Bonjour
Essayez ceci, les "/" se mettent automatiquement en fin de saisie de la date complète. la date dans la textbox apparaît sous la forme "jj/mm/aa" mais est bien restituée au format "jj/mm/aaaa" dans la cellule B8 si la colonne est à ce format.
Private Sub TextBox3_Change()
' Cette procèdure permet de mettre automatiquement une date au format 00/00/0000 dans une textbox
    Dim valeur As Byte
    TextBox3.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
    valeur = Len(TextBox3)
' cette  procédure permet de renseigner  la cellule B8 en fonction de la donnée
' écrite dans le formulaire à la parti DATE
    NbSlash = Len(TextBox3) - Len(Replace(TextBox3, "/", ""))
    If NbSlash < 2 Then
        If valeur = 8 Then TextBox3 = Left(TextBox3, 2) & "/" & Mid(TextBox3, 3, 2) & "/" & Right(TextBox3, 2)
    End If
    Sheets("BASE de DONNEE").Select
    [B8] = Format(TextBox3, "m/d/YYYY")
End Sub

Cdlt
0
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 1
19 mai 2016 à 15:22
merci du coup de main, votre code fonctionne très bien.
0