Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion sarrsouraa
  • 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 !

sarrsouraa

XLDnaute Occasionnel
bonjour tout le monde
j'explique mon probleme j'ai un user form dans lequel j'ai un text box ou l'utilisateur introduit une date
y a t il un moyen d'imposer un format a ce text box pour que la date soit sous format:jj.mm.yyyy
merciiiiiiiiiiiiiiiiiiiiiiii de m aider
 
Dernière édition:
Re : Test box

Bonjour Saarsourra

Un petit code que j'utilise, à adapter à tes besoins
dans un module
Code:
Function MeFDate(Vdate As String)
  Dim VJour As String, VMois As String, VAn As String, NewDate As String
  ' Si la date est VIDE, on veux effacer le champ
  If Vdate = "" Then Exit Function
  ' Si la date est déjà au bon format
  If Len(Vdate) = 10 Then
    MeFDate = Vdate:  Exit Function
  End If
  ' sinon
  Vdate = Replace(Vdate, "/", "")
  VJour = Left(Vdate, 2): VMois = Mid(Vdate, 3, 2)
  VAn = Right(Vdate, Len(Vdate) - 4)
  If Len(VAn) = 2 Then VAn = "20" & VAn
  NewDate = VJour & "/" & VMois & "/" & VAn
  If Not IsDate(NewDate) Then
    MsgBox "Merci de saisir une date valide, au format (jjmmaa ou jj/mm/aaaa)" & vbCrLf _
    & vbCrLf & "Exemple : 010109 ou 01/01/09 ou 01/01/2009 pour 1er Janvier 2009"
    MeFDate = "": Exit Function
  End If
  MeFDate = NewDate
End Function

Dans l'USF avec un TextBox nommé "TbDateMvt"
Code:
Private Sub TbDateMvt_AfterUpdate()
  Me.TbDateMvt.Value = MeFDate(Me.TbDateMvt)
  If Me.TbDateMvt = "" Then SendKeys ("+{TAB}")
End Sub

A+
 
Re : Test box

Bonjour sarrsouraa, le forum

Une proposition en attendant mieux.

Code:
Private Sub UserForm_Click()

   If IsDate(Replace(TextBox1.Text, ".", "/")) And _
      TextBox1.Text Like "??.??.????" _
      And IsNumeric(Split(TextBox1.Text, ".")(0) & _
      Split(TextBox1.Text, ".")(1) & _
      Split(TextBox1.Text, ".")(2)) _
      Then MsgBox "ok"
   Else
      MsgBox "Merci d'entrer une date correcte"
   End If  
   
End Sub
 
Dernière modification par un modérateur:
- 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éponses
15
Affichages
779
Réponses
6
Affichages
904
Réponses
14
Affichages
667
Réponses
32
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…