OVH Cloud OVH Cloud

Ecriture interdite dans cellules

6 réponses
Avatar
christophe
bonjour a tout le monde

quelqu'un peut il me dire comment faire pour interdire l'ecriture dans des
cellules
par vba sans les masquer

merci d'avance

6 réponses

Avatar
Yvan
Bonjour Christophe!

Menu Format/Cellules. Onglet Protection. Cocher Verrouillé pour les cellules
interdites, et bien sûr ne pas cocher pour les cellules autorisées.
(Verrouillé par défaut).

Puis Menu Outils/Protéger la feuille ou le classeur, avec ou sans mot de
passe.

Bonne journée.

Yvan


"christophe" a écrit dans le message de news:

bonjour a tout le monde

quelqu'un peut il me dire comment faire pour interdire l'ecriture dans des
cellules
par vba sans les masquer

merci d'avance


Avatar
Yvan
Pardon! Tu as dit par VBA.(Je ne suis pas encore bien réveillé).

Range("A1").Locked = True
Range("A1").FormulaHidden = False
Sheets("Ma_Feuille").Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True

OK?

Yvan


"christophe" a écrit dans le message de news:

bonjour a tout le monde

quelqu'un peut il me dire comment faire pour interdire l'ecriture dans des
cellules
par vba sans les masquer

merci d'avance


Avatar
papou
Bonjour
Dans le code de la feuille (clic droit sur l'onglet de la feuille puis
visualiser le code), placer ceci en l'adaptant (ici interdiction de modifier
les valeurs de A1 à A5):
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range(Target.Address), Range("A1:A5")) Is Nothing Then
MsgBox "Il est interdit de modifier la valeur de cette cellule"
End If
End Sub

Cordialement
Pascal
"christophe" a écrit dans le message de
news:
bonjour a tout le monde

quelqu'un peut il me dire comment faire pour interdire l'ecriture dans des
cellules
par vba sans les masquer

merci d'avance


Avatar
papou
Re
Il manquait quelque chose d'important, voici le complément :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range(Target.Address), Range("A1:A5")) Is Nothing Then
MsgBox "Il est interdit de modifier la valeur de cette cellule"
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End Sub

Cordialement
Pascal

"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de
news:%
Bonjour
Dans le code de la feuille (clic droit sur l'onglet de la feuille puis
visualiser le code), placer ceci en l'adaptant (ici interdiction de
modifier

les valeurs de A1 à A5):
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range(Target.Address), Range("A1:A5")) Is Nothing Then
MsgBox "Il est interdit de modifier la valeur de cette cellule"
End If
End Sub

Cordialement
Pascal
"christophe" a écrit dans le message de
news:
bonjour a tout le monde

quelqu'un peut il me dire comment faire pour interdire l'ecriture dans
des


cellules
par vba sans les masquer

merci d'avance






Avatar
Philippe
Bonjour,

J'aimerais aussi que lorsque l'on essaie d'écrire dans une case protégée, un
autre message que celui d'erreur apparaisse.
Ta solution ne veut pas fonctionner.
Comment dois-je faire pour pouvoir sélectionner certaines cases et avoir un
petit message sympa de refus d'écriture ?

Merci,

Philippe


Re
Il manquait quelque chose d'important, voici le complément :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range(Target.Address), Range("A1:A5")) Is Nothing Then
MsgBox "Il est interdit de modifier la valeur de cette cellule"
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End Sub

Cordialement
Pascal

"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de
news:%
Bonjour
Dans le code de la feuille (clic droit sur l'onglet de la feuille puis
visualiser le code), placer ceci en l'adaptant (ici interdiction de
modifier

les valeurs de A1 à A5):
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range(Target.Address), Range("A1:A5")) Is Nothing Then
MsgBox "Il est interdit de modifier la valeur de cette cellule"
End If
End Sub

Cordialement
Pascal
"christophe" a écrit dans le message de
news:
bonjour a tout le monde

quelqu'un peut il me dire comment faire pour interdire l'ecriture dans
des


cellules
par vba sans les masquer

merci d'avance











Avatar
christophe
Salut Papou

MErci de ton message , mais la lueur m'est apparue juste apres que j'ai
envoye le message et je suis arrive exactement a la meme chose que ce tu me
propose.




Re
Il manquait quelque chose d'important, voici le complément :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range(Target.Address), Range("A1:A5")) Is Nothing Then
MsgBox "Il est interdit de modifier la valeur de cette cellule"
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End Sub

Cordialement
Pascal

"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de
news:%
Bonjour
Dans le code de la feuille (clic droit sur l'onglet de la feuille puis
visualiser le code), placer ceci en l'adaptant (ici interdiction de
modifier

les valeurs de A1 à A5):
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range(Target.Address), Range("A1:A5")) Is Nothing Then
MsgBox "Il est interdit de modifier la valeur de cette cellule"
End If
End Sub

Cordialement
Pascal
"christophe" a écrit dans le message de
news:
bonjour a tout le monde

quelqu'un peut il me dire comment faire pour interdire l'ecriture dans
des


cellules
par vba sans les masquer

merci d'avance