Comparer deux dates

Cougar

XLDnaute Impliqué
Bonjour le forum,

Dans un textbox de mon userform, j'inscrit une date avec une vérification du format avec le code suivant (trouvé sur le forum) :
With Me.TextBox1
If .Value = "" Then Exit Sub

If Not IsDate(.Value) Then
.SelStart = 0
.SetFocus
.SelLength = Len(.Text)
Cancel = True
Else
LaDate = .Value
.Text = Format(.Value, "yyyy-mm-dd")
End If
End With

Lorsque je compare cette date avec une date dans ma cellule en C3 (en format date (2012-11-11)), il n'y a pas de comparaison. Ma textbox est en texte ("2012-11-11").

Comment écrire le code pour que les deux soient en format date pour comparaison.

Merci
 

Cougar

XLDnaute Impliqué
Re : Comparer deux dates

Bonjour à vous deux, le forum,

Pourtant lorsque je vérifie les deux dates, il ne fait pas la différence si la date est plus petit ou plus grand

Milles excuses en ce dimanche. Ci-joint le fichier.

Merci pour votre aide.
 

Pièces jointes

  • Fichier pour achat.zip
    48.8 KB · Affichages: 38
  • Fichier pour achat.zip
    48.8 KB · Affichages: 43
  • Fichier pour achat.zip
    48.8 KB · Affichages: 37
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Re : Comparer deux dates

Re-,

Tu comprendras aisément ces deux points :

- Nous ne pouvons pas deviner ce que tu veux, au vu de tes codes...
- Le dimanche, même les boules de cristal ont leur repos hebdomadaire

Aussi, si tu veux une aide aussi efficace que rapide, il est préférable que tu joignes un fichier exemple, exempt de toutes données confidentielles, au plus près de ton fichier réel, avec ce que tu as, et ce que tu désires.

Bon dimanche
 

david84

XLDnaute Barbatruc
Re : Comparer deux dates

Re, Bonjour Hubert,
Lorsque tu rentres 2012-11-11 en C3, Excel interprète cette saisie comme une date et la modifie en 11/11/2012.
Il est donc logique que la comparaison entre ta saisie dans ton TextBox 2001-11-11 (interprété comme du texte) et la date en C3 ne soit pas trouvée.
Quel intérêt de vouloir rentrer ce type de format ? Tu pourrais simplement appliquer le bon format de cellule à C3 pour qu'elle t'affiche 2012-11-11 et rentrer une date dd/mm/aaaa dans ton textbox.
Sinon, il te faut appliquer dans le code un format adapté pour re transformer ta saisie 2012-11-11 en 11-11-2012
Code:
If Format(CDate(Range("C3").Value), "yyyy-mm-dd") = .Text Then MsgBox "ok"
mais je n'en saisis pas l'intérêt.
A+