Probleme de comparaison de date

Bonjour,

J'ai remarquer que le formulaire que j'ai créé a un problème.

Pour lui lorsque je fait :

If du > au Then
    MsgBox "Veuiller réessayer avec des informations valides." & vbLf & "(""du"" doit être inférieur à ""au"" et non nul)."
    Exit Sub
End If

avec du = 02/02/2018 et au = 01/01/2019, il rentre dans la condition et exécute la msgbox OR la condition n'est pas vrai normalement.

Quelqu'un pourrait m'expliquer pourquoi cela se produit et comment y remédier ?

Cordialement

Arthur

EDIT: Apres quelques essaie d'autre date j'en déduit que si le jour de "du" est inférieur au jour de "au" la date est forcement inférieur.

Il ne prend pas en compte le mois et l'année

EDIT: ..... la prise de date est en format MM/JJ/AAAA et nom en JJ/MM/AAAA , savez-vous comment changer cela dans un formulaire ?

EDIT: j'ai utilisé la conversion dans le code car je ne sais pas si cela existe directement comme paramètre de la case de saisie. Pour ceux que sa intéresse la formule est :

Format(MaVariable, "dd/mm/yyyy")

Bonjour,

la réponse vous l'avez dans le nom du contrôle : TextBox

et si vous considérez les chiffres comme du texte alors 111 sera plus petit que 2 (par ordre alphabétique on peut dire que aaa et avant b)

Le résultat d'un TextBox est donc alphanumérique, c'est pourquoi il faut les "transformer" pour faire des tests dessus...

Donc :

Dim du as Date, au as Date
du = CDate(Textbox1.Value)
au = CDAte(TextBox2.Value)
If du < au Then MsgBox ("OK") Else MsgBox ("Erreur dans les dates")

ou un truc comme cela, je n'ai pas testé

@ bientôt

LouReeD

Merci LouReed pour ta réponse.

Entre temps j'ai trouver une autre solution ( voir tout les EDIT du poste initial xD )

Voila

EDIT: solution qu ne fonctionne pas ... j'ai tendance a parler trop vite .... MAIS le tien fonctionne

Bonsoir,

j'ai bien fais d'attendre "l'édit", en deux messages j'ai bien vu comment vous fonctionniez !

Ravis que ma solution fonctionne.

@ bientôt

LouReeD

Bonjour,

une information complémentaire :

la fonction FORMAT de VBA tout comme celle d'EXCEL avec TEXTE, transforme votre variable avec le format que vous voulez mais cela la transforme en texte également !

Donc vous vous retrouvez avec le même problème d'ordre croissant alphanumérique qui est différent du numérique !

@ bientôt

LouReeD

Rechercher des sujets similaires à "probleme comparaison date"