Protection partielle d'une feuille

  • Initiateur de la discussion Initiateur de la discussion SVri
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

SVri

Guest
Bonjour,

Une fonction d'excel permet de protéger une feuille de calcul.

L'inconvénient de cette fonction est que les options de mise en forme (gras ou police, par exemple) sont désactivées pour TOUTES les cellules (même celles qui ne sont pas vérouillées).

Existe-t'il une solution pour protéger une zone de la feuille de calcul, et pas une autre (ou laisser toute liberté sur les cellules non vérouillées) ?

Merci !
 
non, non !!

j'ai fait exactement cela, mais si tu fais un essai, tu verra que, sur les cellules que tu laisses dévérouillées, certaines actions sont inaccessibles (mettre en gras, par exemple).


Je pense qu'il faut agir sur le code VBA de protection des cellules / de la feuille. (??)
 
Le souci, si je décoche contenu, c'est que tout le texte de la feuille est modifiable.

Ce que je veux (je sais: je suis pénible !) c'est protéger uniquement certaines zones de la feuille de calcul.

Peut-être faut-il laisser la feuille déprotégée et créer une macro qui empêche la modification du contenu de certaines cellules.

Question: Comment déclancher une macro en sortie de cellule, ou lors de l'accès en modification pour en interdire la modif ?
 
Essaie ce code

' Protéger seulement A1 après saisie dans A1

'-Tu dois d'abord sélectionné toute ta feuille puis dans 'format\cell\protection décoché l'option Locked sinon l'ensemble de ta 'feuille est protégé.
'-Il faut précise l'adresse de ta cellule. Par exemple pour protéger 'uniquement la cellule A1 après une saisie :


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address(False, False) = "A1" Then
ActiveSheet.Unprotect
Target.Locked = True
Target.FormulaHidden = False
ActiveSheet.Protect Contents:=True
End If
End Sub
 
Merci ROBERT et sylvain pour votre aide !

Il faut effectivement que je parte d'une "Sub Worksheet_Change". Je pense avoir maintenant les éléments .... à moi de jouer ! ;-)

(merci Sylvain pour le fichier exemple qui est bien documenté!)

A+ !!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
12
Affichages
361
Réponses
5
Affichages
462
Retour