Voici 2 macros
Private Sub Worksheet_Change(ByVal Target As Range) 'macro événementiel
interdiresaisie Target, Range("a1:a10,c1:c20,g1")'Plage autorisée a adapter
End Sub
Sub interdiresaisie(lacellule As Range, plageautorisée As Range)
If Intersect(lacellule, plageautorisée) Is Nothing Then
MsgBox "Non autorisé a modifier"
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End Sub
Protege ensuite ton project VBA
ALT+F11
puis Outils puis PropriétéS de VBAPROJECT PUIS ONGLET PROTECTION
COCHE "verrouiller le project pour affichage
saisi les mots de passe puis ok
relance le fichier