probleme date en VB

C

chico

Guest
bonsoir a tous,

j'ai fais un ptit code pour tester si, dans la cellule, est bien une date ou pas.

voici le code
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Var As String
Var = CStr(Target.Address)
If Mid(Var, 2, 1) = 'F' Then
    If (Target.NumberFormat = 'dd/mm/yyyy;@') Then
        Call commentaire_anniv
    Else
        If Target.Value <> '' Then
            MsgBox (' vous avez mal insérer la date, veuillez recommencer SVP!')
            Target.Value = ''
            Target.Select
        End If
    End If
End If
End Sub

mais quand 'Target' = 12.'6.1978 (exemple) ' '6 ' est faux

il passe la condition 'IF' et appelle commentaire_anniv
ve que, bien sur il ne devrai pas,

je ne vois pas comment faire
pouvez vous m'aider SVP?

merci d'avance

-Chico-
 

coco_lapin

XLDnaute Impliqué
Bonsoir jam.

Pour ma part j'ai essayé isDate() mais cela ne me convient pas pour les raisons suivantes:

1) Si je saisis 5 dans la cellule qui doit être traitée, une date s'affiche dans la cellule. J'aurais poutant voulu détecter l'erreur mais comme c'est transformé en date ça passe au travers.
2) Chez moi la détection de l'erreur, par exemple, 05/20/2005 ne se fait pas.

Conclusion : je me suis pris par la main et j'ai développé un truc béton: je vérifie si les '/' sont au bon endroits, si le mois est compris entre 1 et 12 ...

Si tu as mieux je suis preneur.
 

Discussions similaires

Réponses
1
Affichages
273
  • Résolu(e)
XL 2021 macro
Réponses
9
Affichages
512

Statistiques des forums

Discussions
312 612
Messages
2 090 227
Membres
104 453
dernier inscrit
benjiii88