Débogage sur une erreur de date

Bonjour

J'ai un problème de date. Je vous explique le contexte:

j'ai un Userform très simple avec des textbox (nom , prénom, date de naissance etc..), avec un bouton "Ajouter" qui rempli un tableau excel. Mon userform fonctionne très bien quand on le rempli.

Problème: Si une erreur de frappe ce produit dans la date (par exemple: 29/042015 au lieu de 29/04/2015 ), cela produit un débogage.

Je chercherai donc à avoir un MsgBox à la place qui m’indiquerait "Erreur dans l'écriture de la date de naissance"

Merci d'avance

Bonjour Julien, bonjour le forum,

Pour éviter de perdre du temps, pourrais-tu envoyer le code (avec les balises de code) et préciser quelle est la ligne qui plante...

Cells(L, 2).Value = CDate(datear.Value)

je précise, la formule fonctionne, mais lors de la saisi de la date, si une erreur de frappe ce glisse dans le textbox (dans mon exemple, un " / " oublié) , il y a un débogage

Bonjour,

utiliser la fonction IsDate afin de vérifier la saisie …

Bonjour Marc, IsDate est intéressant mais il m'affiche maintenant "VRAI" ou "FAUX" dans la cellule. Je voudrais un MsgBox si la réponse la date est en "FAUX", puis si la date est correct je voudrais qu'elle vienne s'inscrire dans la cellule comment avant. J'espère être clair dans mes propos ^^'

Aïe aïe aïe ‼

Si la saisie est une date alors la cellule est égale à la conversion en date de la saisie …

Parlerait on la même langue Marc !

Aurais-tu une formule pour m'aider ?

Cells(L, 2).Value = CDate(datear.Value)

Voilà ce que j'ai pour le moment ^^'

Bonjour le fil, bonjour le forum,

Peut-être comme ça :

Private Sub CommandButton1_Click()
Dim DT As Date

If IsDate(datear.Value) = False Then
    MsgBox "Date non valide !"
    With datear
        .SetFocus
        .SelStart = 0
        .SelLength = .TextLength
    End With
    Exit Sub
Else
    'pour éviter l'éventuelle inversion jours/mois
    DT = Split(datear, "/")(2) & "/" & Split(datear, "/")(1) & Split(datear, "/")(0)
    Cells(L, 2).Value = DT
End If
End Sub

TaubThème c'est presque ça ! mais j'ai un debogage sur cette ligne

DT = Split(datear, "/")(2) & "/" & Split(datear, "/")(1) & Split(datear, "/")(0)

Si j'enlève cette ligne, le programme fonctionne mais dans la cellule c'est une heure qui apparait (12:00:00 AM) précisément

Bonjour le fil , bonjour le forum,

Oui désolé il maque un slash :

DT = Split(datear, "/")(2) & "/" & Split(datear, "/")(1) & "/" & Split(datear, "/")(0)

Merci Taub !! dernier problème (promis j'arrête après ça :p )

le Exit Sub ne fonctionne pas, si je rentre une date erronée, je reçois bien un message d'erreur, mais une ligne se crée tout de même dans mon tableau.

Et un autre petit problème pour la route mais je pense pas que l'on puisse faire quelque chose, si j'écris par exemple 11/11 dans la textBox, j'obtiens un débogage.

Voilà ! Merci d'avance

julien59470 a écrit :

Aurais-tu une formule pour m'aider ?

If IsDate(…) Then Cells(…) = …

Rechercher des sujets similaires à "debogage erreur date"