Re : format cdate + texte en vba
Voici une validation possible des dates
Peut être écrit en fonction :
Option Explicit
Sub Extraction()
Dim Jour As String
Dim Journée As String, Mois As String, Année As String
Dim Msg As String, MaxJourMois As String
Msg = ""
Jour = InputBox("date", "Saisir", "30/02/2010")
'Filtre1 numéro de jour
Journée = Left(Jour, InStr(1, Jour, "/") - 1)
If Val(Journée) > 31 Or Val(Journée) < 1 Then Msg = "Numéro de jour impossible"
'Filtre numéro de mois
Mois = Mid(Jour, InStr(1, Jour, "/") + 1)
Mois = Left(Mois, InStr(1, Mois, "/") - 1)
If Val(Mois) > 12 Or Val(Mois) < 1 Then Msg = "Numéro de mois impossible"
'Filtre cadre de l'année
Année = Right(Jour, InStrRev(Jour, "/") - 2)
If Val(Année) > 2200 Or Val(Année) < 1980 Then Msg = "Année hors du cadre de traitement"
If Msg = "" Then
'Filtre2 numéro du jour
If Val(Mois) < 12 Then
MaxJourMois = Day(DateAdd("d", -1, DateAdd("m", 1, "01/" & Mois & "/" & Année)))
Else
MaxJourMois = Day(DateAdd("d", -1, DateAdd("m", 1, "01/01/" & Année + 1)))
End If
If Val(Journée) > Val(MaxJourMois) Then Msg = "Numéro de jour pour ce mois impossible"
End If
' Affichage du message d'erreur
If Msg <> "" Then MsgBox Msg
End Sub
J'espère que cela correspond à tes attentes ...