Protéger toutes les feuilles de tous les classeurs ouverts

Résolu
owm Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
owm Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaite protéger toutes les feuilles de tous les classeurs.La macro que j'ai réalisé ne fonctionne pas.Vous trouvez ci-dessous la macro:
Sub Protéger()
Dim Classeur As Workbook
Dim nombre As Integer

For Each Classeur In Workbooks
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Worksheets(i).Protect "d"
Next i
Next Classeur
End Sub
Je vous remercie par avance pour votre aide.

OWM
A voir également:

1 réponse

PlacageGranby Messages postés 393 Date d'inscription   Statut Membre Dernière intervention   26
 
Bonjour,

A la base, la variable nombre est assigné sur le classeur actif.
Donc même si tu as 5 classeurs d'ouvert, nombre va toujours te retourner le nombre de feuille du même classeur.

Deuxième note : Worksheet(i).protect ne spécifie pas la feuille de quel classeur.
Donc excel va prendre le premier classeur, trouver le nombre de feuille, protèger les feuille de ce classeur, ensuite, prendre le second classeur, trouver le nombre de feuille, mais il va encore proteger les feuille du classeur actif et non pas celui du deuxième classeur. Il faut prendre excel par la main et bien lui spécifier tout ce qu'il doit faire.

Sub Protéger()
Dim Classeur As Workbook
Dim nombre As Integer

For Each Classeur In Workbooks
nombre = Classeur.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Classeur.Worksheets(i).Protect "d"
Next i
Next Classeur
End Sub 
0
owm Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Je vous remercie.
0