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 Bruce68
  • 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 !

Bruce68

XLDnaute Impliqué
Bonsoir à tous
Un petit souci avec ce texBox
quand je renseigne une mauvaise date dans le TexBox (Dat_Deb) rien ne passe la date est prise en compte.
Que faut il mettre en plus pour eviter de taper une mauvaise date.

Private Sub Dat_Deb_AfterUpdate()
If IsDate(Dat_Deb) Then

Else
xmsg = MsgBox("La date de début n'est pas valide", vbCritical)
Dat_Deb.Value = ""
Dat_Deb.SetFocus
End If
End Sub

Merci à tous de votre aide
 
Re : UserForm Date

Bonsoir Bruce, bonsoir le forum,

Reprenant ton code, je te propose l'utilisation de Exit à la place de AfterUpdate avec une petie gestion d'erreur... :

Code:
Private Sub Dat_Deb_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'juste avant la sortie de la TextBox
On Error GoTo fin 'gestion des erreurs par l'étiquette "fin"
 
'applique le format date à la donnée de la Textbox
'toute donnée non compatible avec une date provoquera une erreur...
Dat_Deb.Value = DateValue(Dat_Deb.Value)
Exit Sub 'sort de la procédure
 
fin: 'étiquette
xmsg = MsgBox("La date de début n'est pas valide", vbCritical) 'message
Dat_Deb.Value = "" 'vide la TextBox
Cancel = True 'empêche la sortie de la TextBox (ce que n'a pas le AfterUpdate)
 
End Sub
 
Re : UserForm Date

Bonsoir le fil, bonsoir le forum,

Je ne comprends pas Bruce... Copie le code que je t'ai donné dans le module de l'Userform qui dontient la TextBox. Ensuite met le code que tu avais en attente (il suffit de placer une apostrophe devant chaque ligne et il se transforme en commentaire) et lance ton Userform. Tape une date puis réessaye en tapant une donnée non compatible avec une date...
 
Re : UserForm Date

Bonsoir Robert
j'ai bien le code mais une date tapée 01/13/2008 est transformée en 13/01/2008
Pour le code en attente je ne vois pas tellement ce que tu veux dire.
Pour les macros je debute et souvent j'adapte des codes trouves dans les forums c'est pour cela que je ne comprend pas tout.
Merci pour ton aide
 
Re : UserForm Date

Bonsoir le fil



---> jeanpierre
Pour datapicker (qui moi aussi un jour m'a posé problème)
Voici un lien ou une solution avait été trouvée
https://www.excel-downloads.com/threads/inserer-un-date-picker-dans-barre-doutils.83403/
Grâce aux conseils avisés de MichelXLD et tous le participants à ce fil, j'ai pu avoir le DTpicker dans Excel
(mais avec le petit souci cf. le fil)
Précision : avec Excel 2000 et Windows 98 SE.
En espérant que cela marche mieux chez toi.
 
Dernière édition:
Re : UserForm Date

Bonsoir à tous
Personne pour me donner un coup de main pour cette macro dans un TexBox:
Quand je rentre une date:01/12/2008 je copie =01/12/2008
12/13/2008 je copie quand meme mais 13/12/2008 date incorrecte pour moi
que faut mettre en plus dans la macro pour que les mauvaises dates soient bloquées.

Private Sub DatDeb_exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsDate(DatDeb) Then
Else
MsgBox (DatDeb.Text & " n'est pas une date valide !")
DatDeb.Text = ""
If DatDeb.Value = "" Then Cancel = True
End If
End Sub

La ligne que j'ai mis pour ranger la date dans ma base

Range("P" & ligne).Value = CDate(Me.DatDeb.Value)

Je vous remercie de votre aide
 
- 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
41
Affichages
1 K
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
358
Réponses
9
Affichages
385
Réponses
2
Affichages
411
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…