Macro pour protéger une étendue de feuille

nemotri Messages postés 175 Date d'inscription   Statut Membre Dernière intervention   -  
nemotri Messages postés 175 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voilà je souhaiterai créer une macro qui me permette de protéger ou d'oter la protection (sans mot de passe) sur une étendue de feuille.

Voilà ce que j'ai tenté sans succès :

Sub Portéger_feuilles () 'macro pour protéger
Sheets ("Nom de la première feuille de l'étendue":"Nom de la dernière feuille de l'étendue").Select
Selection.Protect
End Sub


Quelle procédure dois-je utiliser ?
A voir également:

3 réponses

m@rina Messages postés 23933 Date d'inscription   Statut Contributeur Dernière intervention   11 465
 
Bonjour,

Il me semble que les méthodes Protect et Unprotect ne peuvent s'affecter qu'à un seul objet.
Il faut donc faire une boucle :

Sub proteger()
Dim feuilles, feuille
feuilles = Array(1, 2, 5)  'choisir les feuilles à protéger
For Each feuille In ActiveWorkbook.Sheets(feuilles)
feuille.Protect
Next
End Sub


m@rina
0
nemotri Messages postés 175 Date d'inscription   Statut Membre Dernière intervention   35
 
Ok,
merci de ton aide, je vais esayer ça quand j'aurai un petit moment.

nemotri.
0
nemotri Messages postés 175 Date d'inscription   Statut Membre Dernière intervention   35
 
Bonsoir m@rina,


Etant donné que mon étendue de feuille à protéger (ou "déprotéger") est importante, est que je peux marquer après par exemple : Array (2 to 65)

Merci.
0
m@rina Messages postés 23933 Date d'inscription   Statut Contributeur Dernière intervention   11 465
 
Bonjour,

Tu ne peux pas mettre Array x to y.
Il faut faire une ou plusieurs boucles de type :

For feuille = 2 To 30
ActiveWorkbook.Sheets(feuille).Protect
Next


Si tes feuilles à protéger ont un point commun, par exemple le nom, tu pourrais faire :

For Each feuille In ActiveWorkbook.Sheets
If Left(feuille.Name, 4) = "toto" Then
feuille.Protect
End If
Next


m@rina

0
nemotri Messages postés 175 Date d'inscription   Statut Membre Dernière intervention   35
 
Bonsoir,

Je déterra un peu mon vieux post pour une petite précision.
J'arrive bien à faire fonctionner une macro pour protéger ou déprotéger une étendue de feuille seulement j'aimerai modifier les critères de la protéction. En effet, j'aimerai protéger les feuilles mais qu'àprès la protection activée on puisse sélectionner les cellules déverrouillées et modifier le formet des cellules.

Mais je ne sais pas comment faire. Il semble que par défaut les critères sélectionner les cellules vérouillées et sélectionner des cellules déverrouillées soient activés. Comment changer ça ?

Merci d'avance.
0