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

macro sur feuilles protégées

  • Initiateur de la discussion Initiateur de la discussion lumat83
  • 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 !

L

lumat83

Guest
Bonjour à tous,

Je travaille sur un fichier dont les cellules verrouillées doivent être inacessibles mais contenant quelques macros.

Avec les instructions "ActiveSheet.Unprotect" et "ActiveSheet.protect" je parviens à automatiquement déverrouiller une feuille provisoirement le temps d'exécuter une macro.

"ActiveSheet.protect" a l'air de bien fonctionner tant que je travaille sur le fichier mais après l'avoir sauvegardé, lorsque je le réouvre, les cellules verrouillées sont à nouveau accessibles (bien que non modifiables). Je dois à chaque fois ôter la protection et la rétablir en décochant l'option adéquate

Comment se faisse ? 🙂
Y a t-il un moyen de rétablir l'option de verrouillage initiale ?

Merci d'avance pour votre aide
 
Re : macro sur feuilles protégées

Bonjour

regarde l'aide sur protect

1/ possibilité d'utiliser

sheets("toto").protect userinterfaceonly:=true

permet les accès par macro

2/ ton pb est'il que tu protèges avec pour option d'interdire l'accès aux cellules verrouillées (fonctionne sous 2003, pas sous 97, sous 2000?)?

l'enregistreur de macro donne :
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
 
Re : macro sur feuilles protégées

En réalité, mon classeur contient une quarantaine de feuilles et 3 macros. C'est pour cette raison que je souhaite utilisé protect plutôt que userinterfaceonly.
Pour ta question 2/, oui c'est exactement ça, l'interdiction de l'accès aux cellules verrouillées.

Même avec ce que donne l'enregistreur, après sauvegarde l'option saute
 
Dernière modification par un modérateur:
Re : macro sur feuilles protégées

Ca ne marche pas 🙁 , ni avant, ni après.

Du moment que j'effectue une sauvegarde, l'option d'interdiction d'accès aux cellules verrouillées saute. Même avec ce que donne l'enregistreur 😕
 
Re : macro sur feuilles protégées

Ok, je le joins.

Le bouton est une macro qui inscrit "maladie" en rouge

La feuille est verrouillée sans mot de passe.

Selectionne la cellule B5, clique sur le bouton, le mot "maladie" s'inscrit dans B5. A ce stade, les autres cellules restent innacessibles.
Sauvegardes et quitte. En réouvrant le classeur, tu remarqueras que toutes les cellules sont à nouveau accessibles 🙁
 

Pièces jointes

Re : macro sur feuilles protégées

re

j'ai l'impression que tout fonctionne bien 😕

quand tu réouvres ton ficher, déprotèges la feuille, reprotège et regarde les options proposées (accès cellules verrouillées inactif normalement)

quelle version XL?
 
Re : macro sur feuilles protégées

😱 Chez moi c'est actif

Ma version : 2002 SP3

J'ai le même problème avec ton exemple. Attention, je précise bien que toutes les cellules verrouillées sont selectionnables. Mais elles ne sont pas modifiables effectivement. mais mon but est qu'elles ne soient même pas sélectionnables.
 
Dernière modification par un modérateur:
Re : macro sur feuilles protégées

Bonjour le fil

Personelement je me suis fait un bouton qui enleve la protection de feuille sur toute les feuille du fichier.
Un bouton pour proteger toute les feuille
Un bouton pour enlever la protection de classeur
Un bouton pour proteger le classeur

Ensuite suivant mes apli ou macro j'appele mes macros...

Dans un module :
Code:
Option Explicit
 
 
Sub Protection_Classeur_ON()
ActiveWorkbook.Protect Structure:=True, Windows:=False
End Sub
 
 
Sub Protection_Classeur_OFF()
ActiveWorkbook.Unprotect
End Sub
 
 
Sub Protection_feuille_OFF()
Org_Sheet = ActiveSheet.Name 'memorisation de la feuille de depart
Org_cell = ActiveCell.Address 'memorisation de la celulle de depart
For Each sh In Sheets 'Fred
    If sh.Visible = True Then 'seulement les feuille visible
        sh.Select
        sh.Unprotect
    End If
Next sh
Sheets(1).Select
Sheets(Org_Sheet).Select
Range(Org_cell).Select
End Sub
 
 
Sub Protection_feuille_ON()
Org_Sheet = ActiveSheet.Name
Org_cell = ActiveCell.Address
'Fred ActiveSheet.Select  'Fred cela permet de deselectionner le groupage
'Fred ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
For Each sh In Sheets 'fred
    If sh.Visible = True Then
        sh.Select
        sh.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    End If
Next sh
Sheets(1).Select
Sheets(Org_Sheet).Select
Range(Org_cell).Select
End Sub


Puis dans un autre module
Code:
Public Org_Sheet As String, Org_cell As String
Public sh As Worksheet
 
Dernière édition:
Re : macro sur feuilles protégées

Oui, mais le problème est que ce n'est pas moi qui vais utiliser mon classeur. La personne qui le manipuleras ne connait rien à tout ça 😛 . C'est pourquoi j'essaie de placer un maximum d'automatismes.
 
Re : macro sur feuilles protégées

rebonsoir

Perso je stocke ces module dans un fichier excell qui est cacher (menu fenetres --> masquer). Ce fichier excell je le stocke dans "c:\Program Files\Microsoft Office\OFFICE11\XLSTART\" ce qui fait que le fichier sera lancer a chaque demarrage de excell sans meme que quelqu'un sans apercoive.

Cela est valable seulement pour ta becane ou les becane ou tu mettra le fichier dans xlstart.
L'avantage est que toi tu pourras proteger deproteger tres rapidement.
De plus sur les autres becane les utilisateur peuvent naviguer avec Tab sur les celulle non proteger (bien sur tes fichier finaux sont proteger (feuille et classeur) sauf les celulles qui sont destiner a etre modifier)



Un autre moyen plus lourd celui la c'est de stocker les macros dans chaque fichier et de creer une barre d'outil associer a chaque fichier.
 
- 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.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…