Protéger et déprotéger toutes les feuilles d'un classeur

Soyez le premier à donner votre avis sur cette source.

Snippet vu 13 320 fois - Téléchargée 36 fois

Contenu du snippet

Protéger et déprotéger toutes les feuilles d'un classeur
souce net

Source / Exemple :


Attribute VB_Name = "ProtectionDeprotectionFeuilles"

Sub Protéger()
' Protection automatique de toutes les feuilles d'un classeur
Dim nombre As Integer
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
    Worksheets(i).Protect , password:="blabla"
Next i
End Sub

Sub Déprotéger()
' Déprotection automatique de toutes les feuilles d'un classeur
Dim nombre As Integer
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
    Worksheets(i).Unprotect , password:="blabla"
Next i
End Sub

A voir également

Ajouter un commentaire

Commentaires

Tenanio
Messages postés
16
Date d'inscription
jeudi 10 août 2006
Statut
Membre
Dernière intervention
2 avril 2008
-
Bon désolé de poster encore une fois, mais j'ai enlevé les parties du code qui ne servent à rien et ai aéré le code:

Sub ProtectedSheets()

' Protection automatique de toutes les feuilles d'un classeur

Dim nombre As Double
Dim i As Integer

nombre = ThisWorkbook.Worksheets.Count

For i = 1 To nombre
Worksheets(i).Protect
Next i

End Sub

'----------------------------------------

Sub UnprotectedSheets()

' Suppression automatique de la protection de toutes les feuilles d'un classeur

Dim nombre As Double
Dim i As Integer

nombre = ThisWorkbook.Worksheets.Count

For i = 1 To nombre
Worksheets(i).Unprotect
Next i

End Sub
Tenanio
Messages postés
16
Date d'inscription
jeudi 10 août 2006
Statut
Membre
Dernière intervention
2 avril 2008
-
La variable "nombre" peut être déclarée comme suit dans les deux subs:

Dim nombre As Double

Je me suis trompé dans mon précédent message.
Tenanio
Messages postés
16
Date d'inscription
jeudi 10 août 2006
Statut
Membre
Dernière intervention
2 avril 2008
-
Bonjour,
je pense que le code comporte quelques erreurs. En voici la version corrigée:

Sub Protéger()
' Protection automatique de toutes les feuilles d'un classeur
Dim nombre As Variant
Dim i As Integer
nombre = ThisWorkbook.Worksheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Worksheets(i).Protect , password:="blabla"
Next i
End Sub

Sub Déprotéger()
' Déprotection automatique de toutes les feuilles d'un classeur
Dim nombre As Integer
Dim i As Integer
nombre = ThisWorkbook.Worksheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Worksheets(i).Unprotect , password:="blabla"
Next i
End Sub
CFELOU
Messages postés
3
Date d'inscription
samedi 28 août 2004
Statut
Membre
Dernière intervention
5 août 2005
-
Bonjour,
je n'arrive pas à faire fonctionner cette macro!
Je possède un classeur de 84 feuilles que je souhaiterais protéger ou déprotéger en une seule fois.
Merci de m'indiquer s'il existe une solution

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.