Private Sub Worksheet_Change(ByVal Target As Range)
If Selection.Count > 2 Or Target.Style <> "MaDate" Then Exit Sub
Select Case Len(Target.Text)
Case 6: Target.Value = DateSerial(Mid(Target.Value, 5, 2), Mid(Target.Value, 3, 2), Mid(Target.Value, 1, 2))
Case 7: Target.Value = DateSerial(Mid(Target.Value, 4, 4), Mid(Target.Value, 2, 2), Mid(Target.Value, 1, 1))
Case 8: Target.Value = DateSerial(Mid(Target.Value, 5, 4), Mid(Target.Value, 3, 2), Mid(Target.Value, 1, 2))
End Select
End Sub