Alerte en cas de saisie non conforme au format
Invité
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 SubEn 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