Verifier le format d'une valeur

Bonjour

je demande aux utilisateurs de mon fichier excel d'entrer en B4, une date.

Ma macro sort ensuite les donnees d'autres feuilles correspondant a cette date.

J'ai donc fait plusieurs boucles IF pour verifier si la case est remplie, et si la date entree est bien dans la zone d'etude de mon document.

Seulement si les utilisateurs entrent une date incoherente telle que 35/12/2012, la macro bug. Normal

Pouvez vous svp m'aider a integrer un IF la date entree n'est pas une date reelle alors afficher msgbox "la date est incorrecte" ?

Merci par avance

if range("B4") isdate then
le code ok ici
else
msgbox"date érronée"
end if
If IsEmpty(Worksheets("Resume").Cells(4, "B")) Then
    MsgBox "There is no date in B4. Write a proper date xx/xx/201x"
'ElseIf ajouter condition si date incoherente
ElseIf Worksheets("Resume").Cells(4, "B").Value < 40179 Then
    MsgBox "The date is too old for the document. Select a date after 01/01/2010"
Else
'execution des operations
   

C'est plus complexe que ca en fait ...

Bonjour

Sub test()
If IsDate(Worksheets("Resume").Range("B4")) Then
  If Worksheets("Resume").Cells(4, "B").Value < 40179 Then
    MsgBox "The date is too old for the document. Select a date after 01/01/2010"
  else
    MsgBox "date is valid"
  end if
Else
 MsgBox " date is not valid, it must comply with format dd/mm/201x"
 End If
End Sub

Du coup on n'a plus de condition en cas de case vide ?

Et ou est ce que je place toutes mes actions en cas de date correcte ? Parce que ma macro est assez consequente.

Desolee, je suis un peu perdue

Je vous remercie

Mettre des and devrait aider:

If IsEmpty(Worksheets("Resume").Cells(4, "B"))  and range("B4") is date...etc
zarik a écrit :

Mettre des and devrait aider:

If IsEmpty(Worksheets("Resume").Cells(4, "B"))  and range("B4") is date...etc

Non car si j'entre 35/12/2010 il me le detecte bien comme une date puisque ca en a le format ...

Sub test()

If IsEmpty(Worksheets("Resume").Cells(4, "B")) Then
    MsgBox "There is no date in B4. Write a proper date xx/xx/201x"
elseif  not IsDate(Worksheets("Resume").Range("B4")) Then
    MsgBox " date is not valid, it must comply with format dd/mm/201x"
elseIf Worksheets("Resume").Cells(4, "B").Value < 40179 Then
    MsgBox "The date is too old for the document. Select a date after 01/01/2010"
else
    MsgBox "date is valid"
    'le code pour une date valide doit venir ici

 End If
End Sub

Je ne connaissais pas les If not

Un grand merci

Rechercher des sujets similaires à "verifier format valeur"