Date for vba excel

Résolu
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

  1. 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
    0
    1. 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
      0
      1. 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)
        0
      2. @f894009ok merci f894009
        Bonne soirée
        0