bonjour!

j'arrive plus à résoudre cet problème en testant la date dans textbox, le code marche très bien si je saisie "31/31/2017" ou "40/12/2017" ou "ABCD"; mais voilà le souci: si je saisie "123456" vb fait la correction automatique comme "03/01/2238", ou saisir "12/31/2017" l'auto-correction est "31/12/2017" là l'utilisateur risque d’enregistrer la fausse date. Et si je saisie "1234567890" vb renvoi le message d'erreur (erreur d’exécution '6': dépassement de capacité). quelqu'un pourra m'aider? merci pour vos aides les amis

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
Private Sub CommandButton1_Click()
    Dim L As Integer
    Dim objControl As Control
    Dim madate As Date
 
 
    Me.TextBox1.Text = Format(TextBox1, "dd/mm/yyyy")
 
 
    If Not IsDate(Me.TextBox1.Text) Then
            Me.TextBox1.Value = ""
            MsgBox "veuillez inserer la date normal", vbOKOnly + vbInformation, "VALIDATION"
            Exit Sub
 
    Else           'permettre d'inserer les saisies dans la feuille active
        If MsgBox("Confirmez-vous l'insertion de ce nouveau contact?", vbYesNo, "Demande de confirmation d'ajout") = vbYes Then
 
            L = Sheets(Feuil1).Range("A" & Rows.Count).End(xlUp).Row + 1
 
            Range("A" & L).Value = TextBox1
 
        End If
    End If
                   'pour vider les textbox
    For Each objControl In UserForm1.Controls
        If TypeOf objControl Is MSForms.TextBox Then
            objControl.Text = ""
        End If
    Next
End Sub