[VBA] format de date dans textbox

Fermé
antic80 Messages postés 4751 Date d'inscription lundi 30 mai 2005 Statut Contributeur Dernière intervention 9 septembre 2009 - 9 janv. 2006 à 15:54
 nabilone - 27 avril 2020 à 03:22
bonjour

voila j'aimerai savoir comment forcer en VBA sous excel , un utilisateur a mettre une date au format jjmmyy car si par exemple j'ecris 222 dans la textbox il me fais la conversion

je veux que l'utilisateur soit obliger de mettre par exemple 151205 qui sera converti en 15/12/2005

actuellement j'ai ca pour le formatage de la date en 15/12/2005

TXT_du = Left(TXT_du, 2) & "/" & Mid(TXT_du, 3, 2) & "/" & Right(TXT_du, 2)

merci a vous
A voir également:

13 réponses

Salut.

5 ans après et pour ceux qui passeraient par là :

1 - Dans la Sub TextBoxToto_KeyPress de ta TextBox, on n'accepte que des chiffres

Quelque chose du genre :
If KeyAscii < 48 Or KeyAscii > 57 then KeayAscii = 0

2 - Dans la Sub TextBoxToto_BeforeUpdate on contrôle que la valeur saisie soit bien une date. Si ce n'est pas le cas, on refuse la modif (l'ancienne valeur est restaurée) et si c'est le cas on met la valeur saisie au format Date attendu.

Quelque chose du genre :

If IsDate(TextBoxToto.Text) then
TextBoxToto.Text = Format (TextBoxTotot.Text,"dd/mm/yyyy")
Else

Cancel = True
End If


Avec ce code l'utilisateur pourra saisir par exemple 2/2 et ça donnera le 02/02 de l'année courante au format 02/02/2011.

Dès lors l'extraction du mois ne peut pas donner d'erreur dès que la modif a été acceptée. De plus tu peux ajouter tout autre contrôle sur ta date (< date du jour etc...) dans la première branche du If puisque tu sais que tu travailles sur une date valide.

J'espère que ça servira à quelqu'un de passage (et que depuis 2006 tu as résolu ton problème :o).
17
C'est simple et efficace. Merci.
0
MErci
0