Mise en forme d'une date dans TextBox

Bonjour,

Débutant en VBA, j'ai voulu mettre en forme de manière la plus simple possible pour l'utilisateur une TextBox qui contient une date.

Voici mon code :

Private Sub TextBox_DATE_CHARGEMENT_Change()

Dim valeur As Byte

Me.TextBox_DATE_CHARGEMENT.BackColor = &H80000005

valeur = Len(Me.TextBox_DATE_CHARGEMENT)
If valeur = 2 Or valeur = 5 Then Me.TextBox_DATE_CHARGEMENT = Me.TextBox_DATE_CHARGEMENT & "/"
If valeur = 4 And Right(Me.TextBox_DATE_CHARGEMENT, 1) = "/" Then Me.TextBox_DATE_CHARGEMENT = Left(Me.TextBox_DATE_CHARGEMENT, Len(Me.TextBox_DATE_CHARGEMENT) - 1)
If valeur = 7 And Right(Me.TextBox_DATE_CHARGEMENT, 1) = "/" Then Me.TextBox_DATE_CHARGEMENT = Left(Me.TextBox_DATE_CHARGEMENT, Len(Me.TextBox_DATE_CHARGEMENT) - 1)
End Sub
Private Sub TextBox_DATE_CHARGEMENT_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Len(Me.TextBox_DATE_CHARGEMENT) < 10 Then Me.TextBox_DATE_CHARGEMENT = Format(TextBox_DATE_CHARGEMENT, "dd/mm/yyyy")
End Sub

Ce code me permet dans un premier temps d'éviter à avoir à taper les "/" dans la TextBox, il permet ensuite d'éviter que si l'utilisateur tape quand même les "/", d'avoir 2 "/" à chaque fois. Et le dernier code permet enfin que la date se transforme si l'utilisateur tape par exemple : "12/12/15" en "12/12/2015".

Problème : Supposons que dans ma TextBox je tape une date et je me trompe, je veux effacer avec la touche "Del". Et bien ça m'est impossible dès que j'arrive au caractère "/". Et pour cause, ceci m'en empêche :

If valeur = 2 Or valeur = 5 Then Me.TextBox_DATE_CHARGEMENT = Me.TextBox_DATE_CHARGEMENT & "/"

Une idée?

Merci d'avance.

Cordialement.

Bonjour,

Merci de joindre un fichier avec le code pour le test.

Bonjour,

Appuyez sur le bouton "+" pour faire apparaître le UserForm.

Essayez de saisir une date et voyez par vous-même qu'il est impossible de supprimer des caractères sans être bloqué au "/".

Merci d'avance.

Cordialement.

26test-vba.xlsm (66.41 Ko)

Bonjour

Il suffit de sélectionner la partie à corriger et de taper la bonne valeur

Oui. Mais j'aurais voulu quelque chose de plus "ergonomique". Si ce n'est pas possible ma foi tant pis.

Rechercher des sujets similaires à "mise forme date textbox"