Bonjour le forum,

J'ai le bout de code suivant inspiré par la FAQ dans une textbox, afin d'avoir une date bien formatée

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
Private Sub TxtDateReception_Change()
Dim Valeur As Byte
'------ Fonction qui permet d'ajouter les "/" après le jour et le mois
    txtDateReception.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
    Valeur = Len(txtDateReception)
    If Valeur = 2 Or Valeur = 5 Then txtDateReception = txtDateReception & "/"
    If Valeur = 10 Then txtDateReception = CDate(txtDateReception)
End Sub
Pour vérifier que l'utilisateur ne rentre pas une date dans le futur, j'ai écrit ce bout de code test:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
Private Sub txtDateReception_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
 
If txtDateReception.Value > Date Then
    MsgBox "C'est supérieur."
Else
    MsgBox "C'est inférieur."
End If
End Sub
Le problème est que j'ai beau rentrer 01/01/1900, j'ai toujours une msgbox "C'est supérieur". Et je ne sais pas pourquoi...