Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Utilisation obligatoire du Calendar

14 réponses
Avatar
DAVID
Bonsoir

Comment obliger l'utilisateur à utiliser le Calendar dans un TextBox

En fait, j'aimerais que la seul solution pour entrer une date dans un
TextBox c'est l'ouverture du Calendar. Ceci évite une mauvaise entrée d'un
format de date.

J'utilise actuellement cette fonction mais j'arrive à modifier quand même la
valeur du TextBox.

Private Sub TxtDate_Enter()
Set MaForm = Me
Calendrier_Form.Show
End Sub

Merci de votre aide

Cordialement

David

4 réponses

1 2
Avatar
DAVID
re..

Dans ce cas, si j'entre 14/15/2010 ou 14/gg/2010 cela fonctionne !

J'ai essayer de faire

If TxtDate.Value = CDate(TxtDate.Value) Then
MsgBox "Format date incompatible. Utiliser le Calendrier"
Me.TxtDate.SetFocus
Cancel = True
Calendrier_Form.Show
Else
'''''La suite'''''
End If
Avatar
michdenis
C'est une question ??????????????

Si tu éprouves une difficulté, prend au moins le temps
de circonscrire ton problème !



"DAVID" a écrit dans le message de groupe de discussion :
#
re..

Dans ce cas, si j'entre 14/15/2010 ou 14/gg/2010 cela fonctionne !

J'ai essayer de faire

If TxtDate.Value = CDate(TxtDate.Value) Then
MsgBox "Format date incompatible. Utiliser le Calendrier"
Me.TxtDate.SetFocus
Cancel = True
Calendrier_Form.Show
Else
'''''La suite'''''
End If
Avatar
DAVID
Avec le code que tu m'avais donné, cela poser problème car je pouvais entrer
14/gg/2010 et la procédure continuer car il y avait bien 10 caractère dans
le TextBox donc pour remédier au problème j'ai fais ceci et à première vus
cela fonctionne !!! Il y a surement plus simple mais bon, vu mon niveau !!!
Merci de ta patiente

' Vérifier si le TextBox à une valeur

Private Sub CmbValider_Click()
If TxtDate.Value = "" Then
MsgBox "Date OBLIGATOIRE pour continuer"
Me.TxtDate.SetFocus
Cancel = True
Calendrier_Form.Show
Else

' Vérifier si le TextBox est bien sous un format Date
If Not IsDate(Me.TxtDate.Text) Then
MsgBox "Format date incompatible. Utiliser le Calendrier"
Me.TxtDate.SetFocus
Cancel = True
Calendrier_Form.Show
Else
'''''''''La procédure continue""""""""
End If
End If
End Sub
Avatar
michdenis
Pourquoi ne pas utilisé <

if isdate(TxtDate) then
le reste du code

else

end if

Si tu utilises la fonction de conversion cdate()
avec ceci : 14/gg/2010 , cela va générer une erreur !

Et pour éviter l'usager d'intervenir directement dans
le contrôle textbox devant recevoir une date, tu peux
aussi utiliser la propriété "Locked" que tu peux mettre à true
et que tu passes à "False" le temps d'inscrire le résultat
de la sélection de l'usager et que tu remets à true par la suite !

Ce sont des suggestions, à toi d'arrêter ton choix !





"DAVID" a écrit dans le message de groupe de discussion :

Avec le code que tu m'avais donné, cela poser problème car je pouvais entrer
14/gg/2010 et la procédure continuer car il y avait bien 10 caractère dans
le TextBox donc pour remédier au problème j'ai fais ceci et à première vus
cela fonctionne !!! Il y a surement plus simple mais bon, vu mon niveau !!!
Merci de ta patiente

' Vérifier si le TextBox à une valeur

Private Sub CmbValider_Click()
If TxtDate.Value = "" Then
MsgBox "Date OBLIGATOIRE pour continuer"
Me.TxtDate.SetFocus
Cancel = True
Calendrier_Form.Show
Else

' Vérifier si le TextBox est bien sous un format Date
If Not IsDate(Me.TxtDate.Text) Then
MsgBox "Format date incompatible. Utiliser le Calendrier"
Me.TxtDate.SetFocus
Cancel = True
Calendrier_Form.Show
Else
'''''''''La procédure continue""""""""
End If
End If
End Sub
1 2