couper une protection de feuille temporairement pour faire fonctionner une macro

pascal21

XLDnaute Barbatruc
bonsoir
je'aimerais protéger certaines colonnes des mes feuilles par un mot de passe pour éviter que l'utilisateur effacent les formules par une erreur de manipulation (ç'est encore arrivé ce matin)
mais le problème est que il y a des macros qui seront genées par cette protection
quel est le code qui permet de temporairement couper cette protection puis de la remettre après l'execution de la macro
merci
 

pascal21

XLDnaute Barbatruc
Re : couper une protection de feuille temporairement pour faire fonctionner une macro

bonjour chris, le faux rhum et tout le monde
Code:
 Autre solution à mon avis meilleure
Worksheets("PM_Tasks").Protect userinterfaceonly:=True, Password:="mot de passe"
permet de laisser la protection mais d'autoriser la macro à faire ce qu'elle doit faire
Je conseille de le mettre dans une boucle l'appliquant sur toutes les feuilles protégées dans le Workbook_open
Ainsi même en interrompant la macro, la protection reste active.
ça me semble interressant
Je conseille de le mettre dans une boucle
comment fait-on ceci?
je debute dans les macros et les boucles sont encore des mysteres pour moi
merci
 

bqtr

XLDnaute Accro
Re : couper une protection de feuille temporairement pour faire fonctionner une macro

Bonjour pascal21, chris, le forum

Si ca peux t'aider, voici un exemple de code que j'utilise dans un fichier qui protége toutes les feuilles (35) sauf deux. Les macros restent actives sur les feuilles protégées.

Le code est à mettre dans le ThisWorkbook et s'active à l'ouverture du fichier.

Code:
Private Sub Workbook_Open()

Dim wk As Worksheet
Application.ScreenUpdating = False
For Each wk In ThisWorkbook.Worksheets
    If wk.Name <> "Tableau general" And wk.Name <> "ListAct" Then
          wk.Activate
          wk.Protect Password:="azerty", UserInterfaceOnly:=True
    End If
Next wk
Sheets("Tableau general").Select
Application.ScreenUpdating = True

End Sub

A+
 

pascal21

XLDnaute Barbatruc
Re : couper une protection de feuille temporairement pour faire fonctionner une macro

ok merci j'y regarderai plus tard
pour l'instant je viens de m'apercevoir d'un bug dans une formule dans ce classeur
je post à ce sujet
 

pascal21

XLDnaute Barbatruc
Re : couper une protection de feuille temporairement pour faire fonctionner une macro

Code:
Private Sub Workbook_Open()

Dim wk As Worksheet
Application.ScreenUpdating = False
For Each wk In ThisWorkbook.Worksheets
    If wk.Name <> "Tableau general" And wk.Name <> "ListAct" Then
          wk.Activate
          wk.Protect Password:="azerty", UserInterfaceOnly:=True
    End If
Next wk
Sheets("Tableau general").Select
Application.ScreenUpdating = True

End Sub
comment l'adapter à toutes les feuilles qui auront une protection
soit de feuil1 à feuil11
merci
 

bqtr

XLDnaute Accro
Re : couper une protection de feuille temporairement pour faire fonctionner une macro

Re,

Essaye ceci, à mettre dans le module de code du ThisWorkbook :

Code:
Private Sub Workbook_Open()
Dim i As Byte
Application.ScreenUpdating = False
For i = 1 To 11
    Sheets("Feuil" & i).Protect Password:="azerty", UserInterfaceOnly:=True
Next i
Application.ScreenUpdating = True

End Sub
 
Dernière édition:

ccpapy

XLDnaute Impliqué
Re : couper une protection de feuille temporairement pour faire fonctionner une macro

bonjour
edit:
si c'est l'integralité des feuilles

For Each Worksheet In Sheets
Worksheet.Protect Password:="polo", UserInterfaceOnly:=True
Next Worksheet

je n'avais pas vu que c'était de 1 à 11 cela sous-entend qu'il y a d'autres feuilles
je lis trop vite les messages désolé..
 

pascal21

XLDnaute Barbatruc
Re : couper une protection de feuille temporairement pour faire fonctionner une macro

bonjour
je ne pense pas que ça soit un problème de l'appliquer à toutes les feuilles
ç'est encore le plus simple
je vais adapter mon classeur à cette formule
Code:
 Worksheet.Protect Password:="polo", UserInterfaceOnly:=True
si j'ai bien compris ce code garde la protection mais laisse passer le fonctionnement des macros
merci
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 316
Messages
2 087 172
Membres
103 490
dernier inscrit
zatougraf