Bonjour,
Je souhaite, via une macro VBA, protéger toutes les feuilles sélectionnées d'un classeur Excel (et seulement les feuilles sélectionnées).
Merci d'avance pour votre aide.
![]()
Bonjour,
Je souhaite, via une macro VBA, protéger toutes les feuilles sélectionnées d'un classeur Excel (et seulement les feuilles sélectionnées).
Merci d'avance pour votre aide.
![]()
Bonjour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Sub Demo() For Each Ws In ActiveWindow.SelectedSheets Ws.Protect Next End Sub
Bonjour Marc L.
J'ai utilisé ton code, mais j'obtiens une erreur d'exécution 1004 sur la ligne "ws.protect".
Qu'en penses tu ?
Cordialement.
En fait, j'ai sélectionné préalablement plusieurs feuilles (Groupe de travail), celles que je souhaite protéger. C'est cela qui occasionne le message d'erreur.
Comment faire pour protéger plusieurs feuilles d'un seul coup ?
![]()
De mon côté sur une des versions à ma disposition, cela fonctionne …
Evidemment, il ne faut pas qu'une feuille soit déjà protégée …
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Sub Demo() For Each Ws In ActiveWindow.SelectedSheets If Not Ws.ProtectContents Then Ws.Protect Next End Sub
Est ce que ca marche si tu as sélectionné plusieurs feuilles dans ton classeur ?
Je suis en Excel 2010.
Désolé, effectivement il y a un souci ... J'avais une gestion d'erreur qui trainait dans le code.
C'est en fait plus vicieux car parfois cela se passe bien.
Bref, je suis amené à dé-sélectionner la liste pour pouvoir protéger les feuilles puis s'il y a besoin la sélectionne de nouveau …
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub Demo() Set Liste = ActiveWindow.SelectedSheets ActiveSheet.Select For Each Ws In Liste If Not Ws.ProtectContents Then Ws.Protect Next Liste.Select End Sub
C'est la bonne pour vous j'espère !
Partager