[VBA] format de date dans textbox
Fermé
antic80
Messages postés
4785
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
nabilone - 27 avril 2020 à 03:22
A voir également:
- Vba textbox date format dd/mm/yyyy
- Excel vba textbox date format dd/mm/yyyy - Meilleures réponses
- Excel userform textbox date format dd/mm/yyyy - Meilleures réponses
- Format epub - Guide
- Telecharger format factory - Télécharger - Conversion & Codecs
- Format apfs - Guide
- { Mergefield "date" \@ "d mmmm yyyy" } ✓ - Forum Excel
- Jm date avis - Forum Consommation & Internet
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).
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).
20 sept. 2016 à 09:48
27 avril 2020 à 03:22