Interdire d'écrire certains chiffres ou lettres

Par une macro, interdire d'écrire certaines lettres ou chiffres.
Vous êtes prévenu par un message box, et la lettre ou le chiffre est signalé.
Intallé la macro dans la feuille à surveiller.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Car As Boolean
Dim Pos As Integer
Dim Tbl(1 To 13) As String
Dim I As Integer
Tbl(1) = "abc"
Tbl(2) = "e"
Tbl(3) = "H"
Tbl(4) = "h"
Tbl(5) = "K"
Tbl(6) = "k"
Tbl(7) = "q"
Tbl(8) = "R"
Tbl(9) = "X"
Tbl(10) = 2
Tbl(11) = 5
Tbl(12) = 6
Tbl(13) = 10
If Target.Cells.Count = 1 Then
If Not Intersect([A1,B1,C1], Target) Is Nothing Then
For I = 1 To 13
Car = Target.Value Like "*" & Tbl(I) & "*"
If Car = True Then
MsgBox "le ou les caractère(s) '" & Tbl(I) _
& "' sont interdits
Pos = InStr(Target.Value, Tbl(I))
Target.Value = Left(Target.Value, Pos - 1) _
& Right(Target.Value, Len(Target.Value) - _
((Pos - 1) + Len(Tbl(I))))
Exit For
End If
Next
End If
End If
End Sub

A recopier tel-quel, les cellules surveillées sont A1,B1,C1. On peut changer les cellules, ainsi que les
lettres ou chiffres interdits. Ici c'est Tabl (de 1 à 13) . Attention à la casse majuscule ou minuscule.

Une formule simple pour signaler une lettre, par vrai ou faux dans une autre cellule.
=NON(ESTNUM(CHERCHE("z";B4)))
Ici la lettre "z" dans la cellule "B4"

Retour liens Excel