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

Protection et deprotection d'un classeur par macros

micky01

XLDnaute Occasionnel
Bonjour tout le monde,

J'ai classeur dans lequel je fais apparaitre et disparaitre des feuilles suivant les bouotns cliqués...
J'aimerais bloquer le classeur pour que l'accès manuel à l'affichage ou au masquage des feuilles soit desactivé.
Bien entendu, si mon classeur est tout le temps protégé, mes macros ne s'exécutent pas :s
y'a t'il un moyen de proteger et déprotéger le classeur dans chaque macros qui le nécessite comme on peut le faire pour les feuilles?
Merci de vos réponses

Amicalement
 

Staple1600

XLDnaute Barbatruc
Re : Protection et deprotection d'un classeur par macros

Bonjour


Voir du côté de UserInterFaceOnly

(Utilises le moteur de recherche du forum avec ce mot-clé)



Un exemple:
Code:
Private Sub Workbook_Open()
Dim wSheet As Worksheet
    For Each wSheet In Worksheets
    wSheet.Protect Password:="motdepasse", UserInterFaceOnly:=True
Next wSheet
End sub
 

tototiti2008

XLDnaute Barbatruc
Re : Protection et deprotection d'un classeur par macros

Bonjour à tous,

Staple : il me semble que micky01 veut protéger le classeur, pas les feuilles... UserInterfaceOnly marche-t-il pour protéger le classeur ?

Micky01 : sinon tu peux déprotéger le classeur avant le code et puis le reprotéger après :

ActiveWorkbook.UnProtect Password:="MotDePasse"
'ton code
ActiveWorkbook.Protect Password:="MotDePasse", Structure:=True, Windows:=False
 

thomlau

XLDnaute Occasionnel
Re : Protection et deprotection d'un classeur par macros

Bonjour micky01, staple1600, le forum.

Voici le code que j'utilise dans tous les classeurs "publiques" que je créé.
Code:
Option Explicit
Sub ProtegeTout()
Dim feuil

For Each feuil In Application.Sheets

feuil.Protect Password:="mot_de_passe", DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFormattingCells:=True

'mot_de_passe à adapter

Next feuil

End Sub

Sub DeprotegeTout()
Dim feuil

For Each feuil In Application.Sheets

feuil.Unprotect Password:="mot_de_passe"
'mot_de_passe à adapter

Next feuil

End Sub
J'ai trouvé ce code sur ce forum biensur...

Comment l'utiliser?
Pour chacune de tes macros, fais ceci :

Code:
Sub Ta_macro ()

Application.ScreenUpdating = False
Call DeprotegeTout

.....Code de ta macro

Call ProtegeTout
Application.ScreenUpdating = True

End Sub

J'espère que ceci t'aidera dans ton projet.

++
 

micky01

XLDnaute Occasionnel
Re : Protection et deprotection d'un classeur par macros

Merci de vos réponses

En effet toto, c'est bien du classeur que je parlais

Ta proposition à l'air de bien me convenir, je vais voir ca

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