masque de saisie vba

akmer

XLDnaute Junior
Bonjour,
Voici le code que j'ai en ce moment pour des textboxdate dans une userform:

'Après la saisie de la date de début
Private Sub TextBoxDate1_AfterUpdate()
If Not IsDate(TextBoxDate1) Then
MsgBox "Le texte saisi n'est pas une date ou est mal saisi", vbExclamation
TextBoxDate1 = ""
End If
End Sub

'Après la saisie de la date de fin
Private Sub TextBoxDate2_AfterUpdate()
If Not IsDate(TextBoxDate1) Then
MsgBox "Le texte saisi n'est pas une date ou est mal saisi", vbExclamation
TextBoxDate2 = ""
End If
End Sub

Dans chacune de ces textboxdate je saisie une date de début et de fin.
Je souhaiterai que quand je ne saisie pas la date sous le format suivant jj-mm-aaaa qu'il apparaisse un message d'erreur (situé dans le code précédent).
Je tiens à préciser que si ce n'est pas des tirets entre les jours et les mois et les mois et années que le message d'erreur apparraisse aussi.
Si il y erreur dans la saisie je souhaite qu'aprés que le message d'erreur soit apparu que la textbox se réinitialisie

Merci d'avance pour votre aide.
 
Dernière édition:

wamme

XLDnaute Occasionnel
Re : masque de saisie vba

Bonjour akmer,
sans message d'erreur, j'avais fait une petite application où le format de date était "forcé" dans le format désiré. Tu peux essayer çà dans le code de ton userform:
Private Sub TextBoxDate1_Change()
Dim Valeur As Byte
TextBoxDate1.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
Valeur = Len(TextBoxDate1)
If Valeur = 2 Or Valeur = 5 Then TextBoxDate1 = TextBoxDate1 & "-"

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 936
Membres
103 988
dernier inscrit
Feonix