comparer deux dates

zephir94

XLDnaute Impliqué
Bonjour à tous,


Je vous expose mon soucis, je veux tester la date saisie dans une textbox avec la date du jour.
Pour cela j'ai donc écris :

Code:
 Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  
  If Not IsDate(TextBox2.Text) Then MsgBox "La saisie de la date est incorrecte"
 

 If IsDate(TextBox2.Text) > Date Then
MsgBox " hahaha"
 
 Else
End If
End Sub

La macro en pas à pas j'obtiens bien la date rentrée dans ma textbox2 et la date dans Date est bien celle de ce jour, mais malgré une date saisie supérieure à aujourd'hui la msgbox ne démarre pas ?????
Merci par avance pour m'expliquer pourquoi
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : comparer deux dates

Bonjour zephir,

essaie en remplaçant: (TextBox2.Text)

par: (TextBox2)

mettre également ces deux lignes en une seule
If IsDate(TextBox2.Text) > Date Then
MsgBox " hahaha"


If IsDate(TextBox2.Text) > Date Then MsgBox " hahaha"


et supprimer:
Else
End If


à+
Philippe
 
Dernière édition:

xhudi69

XLDnaute Accro
Re : comparer deux dates

Bonsir zephir94, le Forum,

Peut-être:
Code:
Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   
If Not IsDate(TextBox2.Text) Then MsgBox "La saisie de la date est incorrecte"
  
If CDate(TextBox2.Value) > Date Then
    MsgBox " hahaha"
End If
End Sub

Ouuups: Bonsoir phlaurent55 :)

@+ :cool:
 

xhudi69

XLDnaute Accro
Re : comparer deux dates

Bonsoir zephir94, le Forum

Avec ceci, si le format Date correspond:
Code:
Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   
If Not IsDate(TextBox2) Then MsgBox "La saisie de la date est incorrecte"
  
If CDate(TextBox2.Value) > Format(Now, "dd/mm/yyyy") Then
    MsgBox " hahaha"
End If
End Sub

EDIT: Je m'à trompé, c'est bien : Format(Now, "dd/mm/yyyy")

@+:cool:
 
Dernière édition:

zephir94

XLDnaute Impliqué
Re : comparer deux dates

Bonsoir zephir94, le Forum

Avec ceci, si le format Date correspond:
Code:
Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   
If Not IsDate(TextBox2) Then MsgBox "La saisie de la date est incorrecte"
  
If CDate(TextBox2.Value) > Format(Now, "dd/mm/yyyy") Then
    MsgBox " hahaha"
End If
End Sub

EDIT: Je m'à trompé, c'est bien : Format(Now, "dd/mm/yyyy")

@+:cool:

Merci ça fonctionne au poils ! mais j'ai du mal à me l'expliquer ????
car en pas à pas ça rajoute l'heure seulement !
par contre malgré else il ne stop pas la macro et passe à la textbox suivante donc j'ai ajouté un exit sub mais c'est pareille !
 
Dernière édition:

zephir94

XLDnaute Impliqué
Re : comparer deux dates

C'est bon j'ai trouvé la solution j'ai fait :
Code:
 Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  
  If Not IsDate(TextBox2.Text) Then MsgBox "La saisie de la date est incorrecte"
 

If CDate(TextBox2.Value) > Format(Now, "dd/mm/yyyy") Then
     MsgBox "hahaha"
[COLOR="#FF0000"]TextBox2.Value = ""[/COLOR]
Exit Sub
Else
End If
End Sub
et comme sur le commandbuton je vérifie que tous mes textbox soient bien remplies je retombe sur mes pieds !
Merci à vous tous
 

Discussions similaires

Réponses
10
Affichages
306

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 196
Messages
2 086 100
Membres
103 116
dernier inscrit
kutobi87