macro pour bloquer plusieurs feuilles

  • Initiateur de la discussion Initiateur de la discussion moun33
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

moun33

Guest
Bonjour à tous,

je viens de passer la journée à chercher une solution pour ma macro mais je n'arrive toujours pas à faire ce que je veux.

Je vous explique vite fait

Dans un classeur excel, j'ai 3 feuilles qui sont protégées par le même mot de passe.
Dans chacune de ces feuilles, certaines cellules sont vérouillées et d'autre non.

Ma macro consiste à vérouiller toutes les cellules de chaque feuille et ensuite, protéger chaque feuille.
Sur une feuille ça marche très bien mais je n'arrive pas à faire les 3 feuilles d'un coup.

J'ai essayé de faire feuille par feuille mais c'est une macro que j'aimerai appliquer à plusieurs doc et du coup il n'y aura pas toujours le même nombre de feuille.

Merci pour votre aide


Sub BlocageAQ()
'
'
Sheets("Feuil1").Select
Sheets("Feuil1").Unprotect Password:="vitro"
Cells.Select
Selection.Locked = True
Selection.FormulaHidden = False
ActiveSheet.Protect Password:="vitro", DrawingObjects:=False, Contents:=True, Scenarios:= _
False

Sheets("Feuil2").Select
Sheets("Feuil2").Unprotect
Cells.Select
Selection.Locked = True
Selection.FormulaHidden = False
ActiveSheet.Protect Password:="vitro", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
 
Dernière modification par un modérateur:
Re : macro pour bloquer plusieurs feuilles

Bonjour,

un essai (le nom des onglets à adapter)

Code:
Public Const Pwd As String = "vitro"
Sub BlocageAQ()
Dim Fl
feuilles = Array("Feuil1", "Feuil2", "Feuil3")
For Each Fl In feuilles
    With Sheets(Fl)
        .Unprotect Pwd
        .Cells.Locked = True
        .Cells.FormulaHidden = False
        .Protect Pwd, DrawingObjects:=False, Contents:=True, Scenarios:=False
    End With
Next Fl
End Sub
 
Re : macro pour bloquer plusieurs feuilles

Merci c'est déjà beaucoup plus simple.
Par contre comme j'ai enregistré ma macro dans PERSO pour avoir juste à la sélectionner quand je crée une nouvelle matrice de travail et que le nombre de feuille peut varier d'une matrice à l'autre , je suis toujours coincée.

Je vais faire des essais avec une variable (i) et je viens donner mon résultat.

Bye et merci
 
Dernière modification par un modérateur:
Re : macro pour bloquer plusieurs feuilles

bon ben j y suis pas arriver. le problème c'est que le nom de mes feuilles peuvent changer donc
'feuilles = Array("Feuil1", "Feuil2", "Feuil3")
'For Each Fl In feuilles
ça marche mais il faut que je nomme mes feuilles a chaque fois ("Feuil1", "Feuil2", "Feuil3")

Quelqu'un aurait il une solution pour moi?
 
Re : macro pour bloquer plusieurs feuilles

Bonjour Moun, bhbh

pour boucler sur toutes les feuilles du classeur actif, si cela peut t'aider :

Code:
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
    'ton code
Next ws

bonne journée
@+
 
Re : macro pour bloquer plusieurs feuilles

Eh bien merci beaucoup Pierrot ça marche enfin
J'avais déjà essayer cette méthode mais à mon avis j'avais du oublier quelque chose car ca ne marchait pas 😉

A+
Bonne journée
 
Re : macro pour bloquer plusieurs feuilles

Je vous donne quand même le code en entier si ça peut servir à quelqu'un 🙂


Public Const Pwd As String = "vitro"
Sub BlocageAQ3()
Dim ws As Worksheet
Dim message As Long

message = MsgBox("Etes-vous sûr de vouloir bloquer les feuilles?", vbYesNo + vbExclamation)

If message = vbYes Then

For Each ws In ActiveWorkbook.Worksheets
With ws
.Unprotect Pwd
.Cells.Locked = True
.Cells.FormulaHidden = False
.Protect Pwd, DrawingObjects:=False, Contents:=True, Scenarios:=False
End With
Next ws


Else
Exit Sub

End If

End Sub
 
Dernière modification par un modérateur:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
17
Affichages
1 K
Réponses
5
Affichages
667
Réponses
12
Affichages
846
Retour