Bonjour,
Dans mon projet j'ai un Userform avec plusieurs TextBox dans lesquelles l'utilisateur devra entrer des dates au format jj/mm/aaaa.
Si la date entrée est supérieure à la date du jour je souhaite afficher un MsgBox pour l'avertir, voici le code que j'ai intégré dans ma macro:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
If Milestone_Edit.TextBox1.Enabled = True And Milestone_Edit.TextBox1.Value <> "" Then
                    If Milestone_Edit.TextBox1.Value <> ""  And Milestone_Edit.TextBox1.Value > Act.Range("C1").Value Then
                            MsgBox " Invalid Date " & vbCr & "Date must be lower than the Current Data Date", , "WARNING"
                            Milestone_Edit.TextBox1.SetFocus
                    End If
                    ACVAL.Offset(i, 3).Value = CDate(Milestone_Edit.TextBox1.Value) ' Les données issues d'une TextBox sont au format String il faut donc spécifier le format désiré ici CDate
                    ACVAL.Offset(i, 3).NumberFormat = "[$-410]dd-mmm-yy;@"
                    Milestone_Edit.TextBox1.Value = ACVAL(i, 3).Value
                    Milestone_Edit.TextBox1.Enabled = False
End If
Le problème c'est que dès qu'un chiffre est entré ma MsgBox apparaît, donc avant d'avoir saisi la date complète.

J'ai donc essayé ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
If Milestone_Edit.TextBox1.Value <> "" And Milestone_Edit.NumberFormat = "[$-410]dd-mmm-yy;@" And Milestone_Edit.TextBox1.Value > Act.Range("C1").Value Then
                    MsgBox " Invalid Date " & vbCr & "Date must be lower than the Current Data Date", , "WARNING"
                    Milestone_Edit.TextBox1.SetFocus
End If
Dans ce cas de figure j'ai un message d'erreur VBA qui s'affiche

Erreur de Compilation
Membre de méthode ou de données introuvable
D'après l'aide cela peut venir du nom de l'objet ou du membre mal orthographié ou d'un index de collection hors limite.
Pour l’orthographe, j'ai vérifié et ce n'est pas cela, reste l'index de collection ... ???

Une idée, un conseil seront les bienvenus

merci pour votre aide et votre collaboration
Eric