VBA Excel - Date dans Textbox - Evenement KeyPress

Messages postés
44
Date d'inscription
jeudi 8 décembre 2011
Statut
Membre
Dernière intervention
14 mars 2012
- - Dernière réponse :  Utilisateur anonyme - 22 janv. 2012 à 17:04
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!
Afficher la suite 

5 réponses

0
Merci
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
Commenter la réponse de Utilisateur anonyme
0
Merci
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
Commenter la réponse de Utilisateur anonyme
Messages postés
44
Date d'inscription
jeudi 8 décembre 2011
Statut
Membre
Dernière intervention
14 mars 2012
0
Merci
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.
Commenter la réponse de talined
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
18
0
Merci
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
Commenter la réponse de jmfmarques
0
Merci
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
Commenter la réponse de Utilisateur anonyme