Format de dates pour TextBox

  • Initiateur de la discussion Initiateur de la discussion flo_flo
  • 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 !

F

flo_flo

Guest
Salut tout le monde,

Je suis nouveau ici et je viens de découvrir les macros donc j'y connais rien pour l'instant...
Je vous explique mon souci: j'ai créé un user form avec des textbox:
1) comment fair pour imposer un format de date jj/mm/aaaa dans un textbox. en clair si c'est pas rempli correctement, je voudrais avoir un message d'erreur et pas pouvoir aller dans la textbox suivante
2) comment obliger une saisie en majuscules avec msg d'erreur si c'est pas correct

d'avance merci à tous
 
Re : Format de dates pour TextBox

Bonsoir, au pire ce ke tu fais c que tu rentre 3 texts boxs, une pour le jj
une pour le mm et l'autre pour le aaaa. (tu met des "/" en tant qu'etiquettes comme séparateurs)
pour le jours tu met un test :
If Userform1.TextBox1.Value > "31" then
msgbox("error")
end if

puis pareil pour ton mois et ta date

maintenant je ne sais as ce que tu veux faire exactement mais si la date correspond a la date de saisie, tu peux tjrs utiliser la fonction "Date" de vba qui renvoie la chaine de caractere correspondant a la date actuelle.
ensuite si tu veux tu le place dans une cellule en particulier, tu force ta mise en forme : tu commence par definir une mise en forme personnalisée dans vba :
Range("A1") = Date
tu peux ensuite rajouter :
Range("A1").NumberFormat = "m/d/yyyy"
et tu recuperes dans A1 la date du jour de la saisie
 
Re : Format de dates pour TextBox

Bonsoir
Tu dois vérifier qu'à la validation les données soient correctes.
Je te joins un petit exemple tiré d'une des mes macros

Soit
USFData = le Userform de saisie
txtDateAp = la textBox destinée à recevoir la date
vDateAp = une variable de type Date (Dim vDateAp As Date)
-----------------------------
----- Code :
If Not IsDate(txtDateAp.Value) Then
MsgBox "Veuillez saisir une date ", vbCritical, "Saisie erronée "
With txtDateAp
.Value = ""
.SetFocus
End With
Exit Sub
Else
vDateAp = Format(USFdata.txtDateAp.Value, "dd mm yyyy")
End If
-------------------------
traduction ligne par ligne
L1 : Option 1 : si la valeur de la Textbox n'est pas une date alors
L2 : affichage d'un message d'erreur
L3 : Avec la textbox
L4 : . effacer la saisie erronée
L5 : . positionner le curseur dans la zone à corriger
L6 : fin des modif pour la textbox
L7 : quitter la macro (l'utilisateur doit alors saisir une nouvelle date et valider)
L8 : Option 2 (Else = dans le cas contraire)
L9 : la variable VdateAp est alimenté par la valeur de la Textbox et mise au format souhaité
L10 : End If = fin d'alternative


Bonne soirée
Kotov
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
192
Réponses
13
Affichages
1 K
  • Question Question
Microsoft 365 erreur de date
Réponses
2
Affichages
589
Retour