Date for vba excel

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

2 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  2. max850 Messages postés 312 Statut Membre 3
     
    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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
      1. max850 Messages postés 312 Statut Membre 3 > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
         
        ok merci f894009
        Bonne soirée
        0