Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, dep As Range
On Error Resume Next 'si r ou dep n'existent pas
For Each r In Intersect(Target, Me.UsedRange) 'si entrées multiples
If IsDate(r) Then r.NumberFormat = Replace("""" & UCase(Format(r, "ddd")) & """", ".", "") & " dd"
Set dep = Nothing
For Each dep In r.Dependents
If IsDate(dep) Then dep.NumberFormat = Replace("""" & UCase(Format(dep, "ddd")) & """", ".", "") & " dd"
Next dep, r
End Sub