Salut,
En VBA, on peut la jouer comme ceci :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$7" Then
If Target.Value = "" Then Exit Sub
Dim I As Integer, CarExclus As String, Chn As String, PosX As Integer
CarExclus = "/\:?*<>." & Chr$(34)
Chn = Target.Value
For I = 1 To Len(CarExclus)
PosX = InStr(Chn, Mid(CarExclus, I, 1))
If PosX > 0 Then
Chn = Left(Chn, PosX - 1) & Right(Chn, Len(Chn) - PosX)
Target.Value = Chn
Exit For
End If
Next
End If
End Sub
L'idée est de supprimer automatiquement tout caractère indésirable.
On pourrait aussi prévoir un message destiné à l'utilisateur fautif, mais ne risque-t-on pas de le traumatiser ?
A+
LN