Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

macro sur cellule protégée

2 réponses
Avatar
jp
Bonjour,

J'ai repiqu=E9 une macro =E0 JB pour l'adapter =E0 une de mes feuilles.
Probl=E8me, elle plante d=E8s lors que je coche une celulle prot=E9g=E9e en
=E9criture. Voici la macro:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel
As Boolean)
If Intersect(Target, Range("J13:J69,N13:N69")) Is Nothing Then Exit
Sub
Target.Value =3D IIf(Target =3D "", "X", "")
Cancel =3D True
End Sub

Quelqu'un saurait me dire?
Merci JP

2 réponses

Avatar
Pounet95
Bonjour,

Avant d'écrire dans la cellule, faire appel à une procédure de déprotection.
Quand la modif est faite, protéger à nouveau.

A adapter aux besoins

Sub Protège()
Dim MaPlage As Range
Set MaPlage = Range("C2:F5")
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True
ActiveSheet.Protect Password:="toto"
End Sub

Sub Déprotège()
ActiveSheet.Unprotect Password:="toto"
ActiveSheet.Protect DrawingObjects:úlse, Contents:úlse,
Scenarios:úlse
End Sub

"jp" a écrit dans le message de
news:
Bonjour,

J'ai repiqué une macro à JB pour l'adapter à une de mes feuilles.
Problème, elle plante dès lors que je coche une celulle protégée en
écriture. Voici la macro:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel
As Boolean)
If Intersect(Target, Range("J13:J69,N13:N69")) Is Nothing Then Exit
Sub
Target.Value = IIf(Target = "", "X", "")
Cancel = True
End Sub

Quelqu'un saurait me dire?
Merci JP
Avatar
JB
Bonjour,


Enlever le verrouillage sur les champs J13:J69 et N13:N69 avec Format/
Celule/Protection/Verrouilage puis Outils/protection/Protéger la
feuille

JB

On 6 avr, 05:43, jp wrote:
Bonjour,

J'ai repiqué une macro à JB pour l'adapter à une de mes feuilles.
Problème, elle plante dès lors que je coche une celulle protégée e n
écriture. Voici la macro:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel
As Boolean)
If Intersect(Target, Range("J13:J69,N13:N69")) Is Nothing Then Exit
Sub
    Target.Value = IIf(Target = "", "X", "")
Cancel = True
End Sub

Quelqu'un saurait me dire?
Merci JP