Date for vba excel
Résolu
max850
Messages postés
312
Statut
Membre
-
max850 Messages postés 312 Statut Membre -
max850 Messages postés 312 Statut Membre -
Bonjour,
je ne parviens pas à vérifier si les données entrées dans la textbox3 sont une date au bon format ni à vérifier si la date entrée est égale ou différente de celle du jour
pouvez vous m'aider ?
merci
ci-joint mon fichier
https://www.cjoint.com/c/FBsllLgxxuv
je ne parviens pas à vérifier si les données entrées dans la textbox3 sont une date au bon format ni à vérifier si la date entrée est égale ou différente de celle du jour
pouvez vous m'aider ?
merci
ci-joint mon fichier
https://www.cjoint.com/c/FBsllLgxxuv
2 réponses
-
Bonjour,
Date: jj/mm/aaaa
Now: jj/mm/aa hh:mm:ss
Private Sub TextBox3_exit(ByVal cancel As MSForms.ReturnBoolean) Dim datepiece datepiece = CDate(TextBox3.Value) If Not IsDate(datepiece) Then MsgBox "Format date pas bon", vbExclamation + vbDefaultButton2, "Date de la Pièce" datepiece = DateValue(Date) 'cancel = True ElseIf datepiece > DateValue(Date) Then MsgBox "Date incompatible", vbExclamation + vbDefaultButton2, "Date de la Pièce" datepiece = DateValue(Date) cancel = True End If End Sub -
Bonjour f894009
merci pour ta solution et j'ai vu où était mon souci (entre "date" et "now").
je venais d'en trouver une autre qui fonctionne également
quelle différence y a t il entre beforeUpdate et exit ?
Private Sub TextBox3_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
TextBox3.Value = Format(TextBox3.Value, "dd/mm/yyyy")
If Not IsDate(Me.TextBox3) Then
MsgBox "Erreur de saisie", vbExclamation + vbDefaultButton2, "Date de la Pièce"
Cancel = True
ElseIf CDate(TextBox3.Value) > Date Then
MsgBox "Date invalide", vbExclamation + vbDefaultButton2, "Date de la Pièce"
TextBox3 = ""
Cancel = True
End If
End Sub-
Re,
ces evenements s'exectutent dans cet ordre et la ou il y a Cancel posibilite de faire des test et ne pas sortir de la textbox
Private Sub TextBox2_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Private Sub TextBox2_AfterUpdate()
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
-