[VBA] format de date dans textbox
Fermé
antic80
nabilone - 27 avril 2020 à 03:22
- Messages postés
- 4751
- Date d'inscription
- lundi 30 mai 2005
- Statut
- Contributeur
- Dernière intervention
- 9 septembre 2009
nabilone - 27 avril 2020 à 03:22
A voir également:
- Vba textbox date format dd/mm/yyyy
- Format date textbox vba - Meilleures réponses
- Vba textbox format date - Meilleures réponses
- [VBA] format de date dans textbox - Forum - VB / VBA
- VBA Excel : Format de date ✓ - Forum - VB / VBA
- TextBox au format date ✓ - Forum - VB / VBA
- [Excel-VBA] format date ✓ - Forum - VB / VBA
- Excel vba textBox format Date ✓ - Forum - Excel
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