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 -
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 ?
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:
- Macro pour protéger une étendue de feuille
- Table ascii etendue - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Proteger cellule excel - Guide
- Bruler feuille de laurier - Guide
- Feuille de pointage excel - Télécharger - Tableur
3 réponses
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 :
m@rina
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
Bonjour,
Tu ne peux pas mettre Array x to y.
Il faut faire une ou plusieurs boucles de type :
Si tes feuilles à protéger ont un point commun, par exemple le nom, tu pourrais faire :
m@rina
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
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.
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.
merci de ton aide, je vais esayer ça quand j'aurai un petit moment.
nemotri.
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.