Alerte en cas de saisie non conforme au format

Bonjour,

J'ai monté une macro pour alerter l'utilisateur quand il ne saisit pas une date sous le format jj/mm/aaaa. Le soucis c'est qu'il y a un beug que je n'arrive pas à résoudre...

Private Sub Workbook_Open()
    'Lance le clignotement  à l'ouverture si la cellule B différent du format de date
    If Val(Sheets(1).Range("B:B").NumberFormat) <> "dd/mm/yyyy" Then Clign
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    'Interrompt le clignotement éventuel avant fermeture
    StopClign
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim F As Worksheet
    If Target.Count > 1 Then Exit Sub
    If Not Application.Intersect(Target, Sh.Range("B:B")) Is Nothing Then
        'S'assure que la même valeur apparaisse en B sur chaque feuille
        Application.EnableEvents = False
        For Each F In Worksheets
            If F.Name <> Sh.Name Then
                F.Range("B:B").NumberFormat = Target.NumberFormat
            End If
        Next F
        Application.EnableEvents = True
        'Lance ou stoppe le clignotement
      [color=#FF0000]  If IsDate(Target.NumberFormat) <> "dd/mm/yyyy" Then Clign Else StopClign[/color]
    End If
End Sub

En fait, cette base ne me convient pas. Elle est approprié pour une cellule définie. Moi je veux que ca clignote sur la cellule où il y a le défaut parmi une place de cellules...

Bonjour,

Une date est une date.

Pourquoi ne pas te servir de la Validation pour tout simplement bloquer les saisies qui ne sont pas des dates que tu considères comme valides ?

Au pire, si tu crains qu'on te le change, tu remets le format date voulu à l'ouverture.

eric

Rechercher des sujets similaires à "alerte cas saisie conforme format"