[VBA]Contrôle de saisie format jj/mm/aaaa [Résolu/Fermé]

Signaler
Messages postés
453
Date d'inscription
vendredi 16 février 2007
Statut
Contributeur
Dernière intervention
18 novembre 2018
-
Messages postés
453
Date d'inscription
vendredi 16 février 2007
Statut
Contributeur
Dernière intervention
18 novembre 2018
-
Bonjour,

Je cherche simplement à faire un contrôle de saisie sur un inputbox, qui indique une mauvaise saisie si :

- La date n'est pas au format jj/mm/aaaa
- La date est supérieur à la date d'aujourd'hui

C'est tout :)

Merci pour votre aide !

Mike.

2 réponses

Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 134
Bonjour,

Une piste :

Sub testSaisieDate()
Dim rep As String

    rep = InputBox("Saisir la date")
    
    If Not IsDate(rep) Then
        MsgBox "Ce n'est pas un format date"
        test
    End If
    If CDate(rep) > Date Then
        MsgBox "La date doit être inférieure à la date d'aujourd'hui"
        test
    End If
    If rep <> Format(rep, "dd/mm/yyyy") Then
        MsgBox "le format doit être jj/mm/aaaa"
        test
    End If
End Sub


;o)
10
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
453
Date d'inscription
vendredi 16 février 2007
Statut
Contributeur
Dernière intervention
18 novembre 2018
108
C'est plus qu'une piste, tu m'as donné directement la solution ^_^'

Problème résolu ! Voici mon code final :

Private Sub CA_Click()

Dim cumul_ca As Single

saisie_date:
Date_CA = InputBox(Chr(13) & Chr(10) & Chr(13) & Chr(10) & "      Saisissez la date désirée (format JJ/MM/AAAA)", "Calcul du CA journalier", Format(Date, "dd/mm/yyyy"))
If Date_CA = "" Then
    Exit Sub
End If
If Not IsDate(Date_CA) Then
        MsgBox "Format de date saisie incorrect !"
        GoTo saisie_date
End If
If CDate(Date_CA) > Date Then
        MsgBox "La date doit être inférieure à la date d'aujourd'hui !"
        GoTo saisie_date
End If
If Date_CA <> Format(Date_CA, "dd/mm/yyyy") Then
        MsgBox "le format doit être jj/mm/aaaa !"
        GoTo saisie_date
End If
ActiveSheet.Unprotect
Range("a4").Activate
Date_CA = Format(Date_CA, "dd/mm/yyyy")
While ActiveCell.Value <> ""
    date_ligne = Format(ActiveCell.Value, "dd/mm/yyyy")
    If date_ligne = Date_CA Then
        ActiveCell.Offset(0, 5).Activate
        cumul_ca = cumul_ca + CSng(ActiveCell.Value)
        ActiveCell.Offset(0, -5).Activate
    End If
    ActiveCell.Offset(1, 0).Activate
Wend

MsgBox ("Le Chiffre d'Affaires en date du " & Date_CA & " s'élève à " & cumul_ca & " Euros.")

End Sub


Merci encore une fois polux ;-)