XL 2016 textbox dates en lettres

  • Initiateur de la discussion Initiateur de la discussion bidoutche
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bidoutche

XLDnaute Occasionnel
Bonjour à tous,

Comment faire pour forcer une textbox a inscrire une date en format jour mois année (21-05-1975 donne 21 mai 1975 voire même mercredi 21 mai 1975)
merci de votre aide
 
Bonsoir le fil, le forum

@bidoutche
A tester sur un userform qui contient au moins deux textbox
VB:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(TextBox1) > 0 Then
  If IsDate(TextBox1) Then
    TextBox1 = Format(TextBox1, "dddd dd mmmm yyyy")
    Else
    MsgBox "Merci d'entrer une date valide!", vbCritical + vbOKOnly, "ERREUR"
    Cancel = True
  End If
End If
End Sub

EDITION: Bonsoir job75
 
Dernière édition:
Bonsoir
En tout cas dans une cellule ça n'existe pas une date au format jour mois année. Ce qui existe comme valeur de cellule c'est une date ou autre chose qu'une date, un point c'est tout. Ce qui existe aussi c'est un format d'affichage de cellule indiquant comment doit être visualisé une date, si valeur de cellule en est une.
Utiliser la fonction CDate pour convertir un texte tel que la valeur d'une TextBox en Date si cela est possible.
 
Dernière édition:
Bonsoir bidoutche, JM, Bernard,

Si TextBox1 est dans un UserForm avec un autre contrôle susceptible de prendre le focus :
Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1 Like "##-##-####" And IsDate(TextBox1) Then
    TextBox1 = Format(TextBox1, "dddd d mmmm yyyy")
Else
    Cancel = True
    TextBox1 = ""
End If
End Sub
A+
 
Re,

Cela dit il n'est pas indispensable d'imposer un format pour l'entrée de la date :
Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsDate(TextBox1) Then
    TextBox1 = Format(TextBox1, "dddd d mmmm yyyy")
Else
    Cancel = True
    TextBox1 = ""
End If
End Sub
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Résolu(e)
Microsoft 365 DATEDIF
Réponses
11
Affichages
236
Réponses
4
Affichages
364
  • Résolu(e)
Microsoft 365 DateDif()
Réponses
5
Affichages
278
Retour