Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

vérouiller une feuille sauf les checkbox

lerogertroutman

XLDnaute Junior
Bonjour à tous,

J'utilise sur une feuille excel des checkbox, reliées à des cellules via des variables Boolean.
Je souhaite faire en sorte que ces cellules ne soient modifiables qu'en agissant sur les checkbox.
Mais lorsque je protège ma feuille, je ne peux plus agir sur ces cellules, même via les checkbox !

Alors comment faire pour pouvoir utiliser ces checkbox malgré la protection

Un grand merci,

Le Roger
 

CBernardT

XLDnaute Barbatruc
Re : vérouiller une feuille sauf les checkbox

Bonjour lerogertroutman,

A priori et sans autre explication ni présentation d'un exemple, il est possible de réaliser cette opération en passant par une macro évènementielle.

Placer dans le module de la feuille où se situe les checkbox des macros de ce style :

Private Sub CheckBox1_Change()
' Deprotection de la feuille active, le mot de passe est "***"
With ActiveSheet
.EnableSelection = xlNoRestrictions
.Unprotect Password:="***"
End With
'
'Mettre ici l'action à réaliser !
'
' Reprotection de la feuille active
With ActiveSheet
.EnableSelection = xlNoSelection
.Protect Password:="***", Contents:=True, UserInterfaceOnly:=True, Scenarios:=True
End With
End Sub


Cordialement

Bernard
 
Dernière édition:

Hulk

XLDnaute Barbatruc
Re : vérouiller une feuille sauf les checkbox

Hello Forum, M'sieur,

Tu peux rajouter dans le code de tes CheckBox ceci en début de procédure
Code:
ActiveSheet.Unprotect
Et ceci à la fin de la procédure
Code:
ActiveSheet.Protect
Donc, ça dévérouille la feuille puis la vérouille à chaque click !

En gros ça donnerait un truc du genre
Code:
Private Sub CheckBox1_Click()

    ActiveSheet.Unprotect
    [J7] = "OK 1"
    If CheckBox1 = False Then [J7] = ""
    ActiveSheet.Protect
    
End Sub

Cdt, Hulk.

EDIT : Slt Bernard
 

lerogertroutman

XLDnaute Junior
Re : vérouiller une feuille sauf les checkbox

Bonjour Bernard, Hulk, le forum,

Voilà des précisions

J'ai associé une cellule à ma checkbox avec un clic droit > format du contrôle > onglet "contrôle"

Si je veux utiliser cette checkbox dans mon code, je crée une variable Boolean égale à la cellule liée.

Mais comme vous pouvez le voir dans l'exemple ci-dessous, lorsque la feuille est protégée (je n'ai pas mis de mot de passe), impossible d'agir sur la checkbox !

Bernard, puisque tu es là, j'en profite pour revenir sur la réponse que tu m'as donné sur un autre poste, concernant le message d'alerte qui apparaît lorsque qu'on tente d'écrire dans une cellule protégée (je voulais éviter l'apparition du message).

Dans ton exemple (cf. notre discussion d'hier), le message d'alerte n'apparait pas, non pas parce que le message est désactivé, mais parce que les cellules ne peuvent être sélectionnées, comme on le voit dans le deuxième onglet du doc ci-dessous.

--> lorsqu'on ajoute un
feuil1.protect password=:"abc"
comment préciser :
- qu'on peut / ne peut pas sélectionner les cellules protégée ?
- qu'on peut / ne peut pas modifier la taille des colonnes.lignes
- etc...

Je ne toruve nulle part ces infos...


Merci pour tout,

Le Roger
 

Pièces jointes

  • Protection.xls
    32.5 KB · Affichages: 63
  • Protection.xls
    32.5 KB · Affichages: 64
  • Protection.xls
    32.5 KB · Affichages: 62
Dernière édition:

aliazli

XLDnaute Nouveau
Bonjour,
Si tu as associé la checkbox avec une cellule excel (clic droit sur la checkbox -> Format de contrôle -> onglet Contrôle -> Cellule liée), il faut également enlever la protection de la cellule liée (en plus de celle de la checkbox) lorsque tu protège la feuille ou le classeur
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…