Date for vba excel [Résolu/Fermé]

Signaler
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
-
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
-
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

2 réponses

Messages postés
15221
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
13 mai 2020
1 292
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
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2
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
Messages postés
15221
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
13 mai 2020
1 292
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)
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2 >
Messages postés
15221
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
13 mai 2020

ok merci f894009
Bonne soirée