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
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
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
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
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
C'est une question ??????????????
Si tu éprouves une difficulté, prend au moins le temps
de circonscrire ton problème !
"DAVID" <direction-ternoise@wanadoo.fr> a écrit dans le message de groupe de discussion :
#6UWEN3lKHA.1824@TK2MSFTNGP04.phx.gbl...
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
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
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
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
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
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
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" <direction-ternoise@wanadoo.fr> a écrit dans le message de groupe de discussion :
uPwIYl3lKHA.5040@TK2MSFTNGP06.phx.gbl...
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
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