Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

@+
 

zephir94

XLDnaute Impliqué
Re : comparer deux dates

Non hélas cela n'a rien changé !
Que se soit .value, .text, ... en pas à pas j'ai bien 04/09/2014 de saisie et la date du jour 03/09/2014
et sa va directement à else !
 
Dernière édition:

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")

@+
 
Dernière édition:

zephir94

XLDnaute Impliqué
Re : comparer deux dates


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:

xhudi69

XLDnaute Accro
Re : comparer deux dates

Bonsoir zephir, le Forum,

Est-ce-que ma solution au Post #5 fonctionne, car chez moi c'est la cas

EDIT: désolé pour le croisement, c'est normal, c'est Excel, toujours faché avec le format date

@+
 

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
325
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…