Je place ici le début du script d'une macro dont l'évènement est _Open. Vous verrez que je suis encore novice. Mais toujours est-il que je suis incapable d'appliquer un recadrage et une reprotection de toute feuille visible au moment de l'application de la macro. Quelqu'un voit une ou des erreurs dans ma démarche ?
PS
Toute les feuilles visible à ce moment sont protéger avec le même mot de passe.
Merci de pouvoir m'enligner correctement.
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Dim CmdB As CommandBar
For Each CmdB In Application.CommandBars
CmdB.Enabled = False
Next CmdB
'pour recadrer et reprotéger toute feuille visible.....
Sheets("Budget").Visible = False
For Each F In Sheets
If F.Visible = True Then F.Unprotect Password:="adm"
F.Range("A1:e16").Select
ActiveWindow.Zoom = True
F.Protect Password:="adm"
F.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
F.EnableSelection = xlUnlockedCells
Sheets("Budget").Visible = True
Next
Sheets("Budget").Select
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
isabelle
bonjour Stéphan,
je ne suis pas sur de bien comprendre ce que tu veut dire par recadrage, est ce que cela irait.
For Each f In Sheets Sheets(f.Name).Activate With ActiveSheet If .Visible = True Then .Unprotect Password:="adm" .Range("A1:e16").Select ActiveWindow.Zoom = 120 'ou autre valeur .EnableSelection = xlUnlockedCells .Protect Password:="adm" .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True End With Next
je ne suis pas sur de bien comprendre ce que tu veut dire par recadrage,
est ce que cela irait.
For Each f In Sheets
Sheets(f.Name).Activate
With ActiveSheet
If .Visible = True Then .Unprotect Password:="adm"
.Range("A1:e16").Select
ActiveWindow.Zoom = 120 'ou autre valeur
.EnableSelection = xlUnlockedCells
.Protect Password:="adm"
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With
Next
je ne suis pas sur de bien comprendre ce que tu veut dire par recadrage, est ce que cela irait.
For Each f In Sheets Sheets(f.Name).Activate With ActiveSheet If .Visible = True Then .Unprotect Password:="adm" .Range("A1:e16").Select ActiveWindow.Zoom = 120 'ou autre valeur .EnableSelection = xlUnlockedCells .Protect Password:="adm" .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True End With Next