VBA Excel - Date dans Textbox - Evenement KeyPress

Signaler
Messages postés
44
Date d'inscription
jeudi 8 décembre 2011
Statut
Membre
Dernière intervention
14 mars 2012
-
 Utilisateur anonyme -
Bonjour!

Sous VBA Excel, je souhaite creer une textbox et la paramétrer en format date de type dd/mm/yyyy
Jusqu'ici, le code est assez simple..

Sauf que je voudrais que ma textbox soit déclenché par l'évenement Keypress..
Autrement dit, lors de la saisie, si l'utilisateur ne respecte ni le format "dd/mm/yyyy", ni les caractères numériques, Alors on bloque la saisie..

Quelqu'un aurait-il une idée??

Merci!

5 réponses


Pourquoi ne pas faire quelque chose du genre:
Private Sub TextBox2_Change()
If Len(TextBox2.Text) = 2 Then
   If Val(TextBox2.Text) > 31 Or Val(TextBox2.Text) < 1 Or IsNumeric(TextBox2.Text) = False Then
      TextBox2.Text = ""
   Else
      TextBox2.Text = TextBox2.Text & "/"
   End If
End If
If Len(TextBox2.Text) = 5 Then
   If Val(Right(TextBox2.Text, 2)) > 31 Or Val(Right(TextBox2.Text, 2)) < 1 Or IsNumeric(Right(TextBox2.Text, 2)) = False Then
      TextBox2.Text = ""
   Else
      TextBox2.Text = TextBox2.Text & "/"
   End If
End If
End Sub



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique

Ou plutôt:
Private Sub TextBox2_Change()
If Len(TextBox2.Text) = 2 Then
   If Val(TextBox2.Text) > 31 Or Val(TextBox2.Text) < 1 Or IsNumeric(TextBox2.Text) = False Then
      TextBox2.Text = ""
   Else
      TextBox2.Text = TextBox2.Text & "/"
   End If
End If
If Len(TextBox2.Text) = 5 Then
   If Val(Right(TextBox2.Text, 2)) > 31 Or Val(Right(TextBox2.Text, 2)) < 1 Or IsNumeric(Right(TextBox2.Text, 2)) = False Then
      TextBox2.Text = Left(TextBox2.Text, 3)
   Else
      TextBox2.Text = TextBox2.Text & "/"
   End If
End If
End Sub



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
44
Date d'inscription
jeudi 8 décembre 2011
Statut
Membre
Dernière intervention
14 mars 2012

Merci bcp!

Cependant, il y a 3 petites choses qui ne fonctionnent pas :

- On peut rentrer n'importe quelle lettre pour le premier caractère
- On peut insérer 2 slash après le jour
- On peut rentrer n'importe quel caractère et autant de fois que l'on veut après le 2eme slash (Année).

Merci.
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
23
Bonjour,
Pourquoi te casser la tête alors que mon "frère jumeau" jmfmarques a déposé un source à ce sujet ?
Regarde et prends ce qui te convient dans CE SOURCE qui va plus loin encore (saisie assistée en différents formats)



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient

Mais... talined:

Tu ne veux pas qu'on te fasse tout carrément?

Il faut quand même te laisser quelque chose à faire, sinon tu vas le prendre comme une mauvaise habitude...




Cordialement


CF2i - Guadeloupe
Ingénierie Informatique