Bonsoir Caroline,
Tu peux insérer ceci dans ton code....
Si ta feuille est protégée lorsque cette ligne de code s'exécute, tu auras
une boîte de dialogue te demandant de saisir
le mot de passe pour déprotéger la feuille active. Cependant, si la
feuille n'est pas protégée, ce sera une fenêtre qui
s'affichera pour protéger la feuille.
'--------------------
If Application.Dialogs(xlDialogProtectDocument).Show = False Then
Exit Sub
End If
'--------------------
Salutations!
"Caroline L." a écrit dans le message de news:
Ch5Yd.45289$
D'accord, merci.
Là j'ai compris. Tu sais, je ne suis encore qu'à mes débuts en VBA, le
vocabulaire n'est pas toujours évident à saisir. Merci pour ta patience et
explications.
Dernière petite question : je cherche à créer la macro suivante :
Boîte dialogue "Ôter la protection du classeur"
si le mot de passe est valide la macro se poursuit (j'ai fait le reste)
sinon, MsgBox "Mot de passe erroné. La gestion des horaires est limité à
l'administration"
merci encore
Caroline
"anonymousA" a écrit dans le message de news:
4230c8f9$0$3124$non, Caroline ca n'a pas exactement à voir avec l'obligation de saisir
le mdp .
EnablecancelKey=xldisabled veut dire que si l'utilisateur clique sur ESC
ou sur Ctrl+Pause pendant que la macro est exécutée ,celle-ci ne
s'interrompt pas.
En conséquence, même s'il ne veut pas saisir de mdp , il ne peut pas
faire planter la macro et fermer le fichier en l'état.Donc il est
contraint à laisser la macro se dérouler et par voie de conséquence à
lui reproposer la boite de dialogue mdp du classeur puis ensuite celle
des feuilles jusqu'à ce que , de guerre lasse, il finisse enfin par
saisir un mdp valide de classeur puis un mdp pour les feuilles.
Je me répète depuis 3 POSTS : ce qui oblige l'utilsateur à saisir un mdp
valide (c.à.d non vide)pour le classeur c'est Thisworkbook.unprotect ""
et la boucle Do while Thisworkbook.protectcontentsúlse.
A+Re-bonjour Anonymous,
J'ai ajouté ce que tu suggères ci-bas... cela semble éviter que
l'utilisateur n'entre aucun mot de passe, donc le mdp n'est plus
facultatifmais obligatoire, est-ce que je comprends bien ??Enfin, pour éviter eventuellement que l'utilisateur ne puisse fermer
le
classeur, il faudrait rajouter un
Application.EnableCancelKey=xlDisabled
endébut de macro et un Application.EnableCancelKey =xlInterrupt à la fin
maisc'est à manier avec précaution
"anonymousA" a écrit dans le
messagede news:bonjour,
pour la 1ere question, le Thisworkbook.unprotect "" est là pour tester
si
leclasseur n'a pas été protégé par un chaine vide,ce qui rendrait de
facto
laprotection bien faible et le on error qui précede est la pour éviter
dans
cetest que si jamais il y a déjà une protection de classeur , le
programme
nese plante.
Ensuite il est à nouveau répété dans la procédure pour les mêmes
raisons.
Par ailleurs, le programme d'envoi automatique de la fenêtre de
dialogue
dela protcetion du classeur ,une fois son 1er test
Thisworkbook.unprotect
""réalisé, ne se déclenche QUE si vraiment il n'y a pas de protection de
classeur. Je viens de refaire l'essai.
Enfin, pour éviter eventuellement que l'utilisateur ne puisse fermer
le
classeur, il faudrait rajouter un
Application.EnableCancelKey=xlDisabled
endébut de macro et un Application.EnableCancelKey =xlInterrupt à la fin
maisc'est à manier avec précaution.
Pour la 2eme question , je ne vois pas, enableselections ou scrollarea
peut-être.
A+Bonjour à tous !
Au bas, voici une macro sur laquelle je dois faire des petits
ajustementsmais je n'y arrive pas. Juste vous dire que le but de celle-ci est
qu'à
lafermeture d'un classeur, l'utilisateur est forcer de remettre la
protectionsur les feuilles et de protéger le classeur (tout ça avec un mot de
passe).La macro est presque à point, mais : au départ, il n'est pas
nécessaire
quela boîte "Ôter la protection du classeur" s'ouvre... il serait bien
que
seulement si la protection du classeur n'est pas activé, là d'accord
uneboîte "Protéger le classeur" s'ouvre. (en ce moment, le programme
demandetoujours d'ôter la protection et de remettre la protection, etc.)
Dernière petite chose, lorsque j'ouvre le classeur, la fenêtre du
classeurne contient plus les barres de défilement verticales et je ne peux
plus
"déplacer" cette fenêtre en "clique-glisse sur le bleu du haut". Pour
résoudre ces 2 problèmes, j'enlève la protection du classeur, et tout
sereplace. Bizarre ??
Merci pour votre aide
Caroline
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'remet la protection sur toutes les feuilles et protéger le classeur
On Error Resume Next
ThisWorkbook.Unprotect ""
Do While ThisWorkbook.ProtectStructure = False
MsgBox "Vous devez proteger ce classeur avant fermeture"
Application.CommandBars.FindControl(ID:4).Execute
ThisWorkbook.Unprotect ""
Loop
Err.Clear
For I = 1 To Sheets.Count
If Sheets(I).ProtectContents = False Then
Sheets(I).Activate
Application.CommandBars.FindControl(ID:3).Execute
End If
Next
Bonsoir Caroline,
Tu peux insérer ceci dans ton code....
Si ta feuille est protégée lorsque cette ligne de code s'exécute, tu auras
une boîte de dialogue te demandant de saisir
le mot de passe pour déprotéger la feuille active. Cependant, si la
feuille n'est pas protégée, ce sera une fenêtre qui
s'affichera pour protéger la feuille.
'--------------------
If Application.Dialogs(xlDialogProtectDocument).Show = False Then
Exit Sub
End If
'--------------------
Salutations!
"Caroline L." <caroland@videotron.ca> a écrit dans le message de news:
Ch5Yd.45289$NW4.289869@weber.videotron.net...
D'accord, merci.
Là j'ai compris. Tu sais, je ne suis encore qu'à mes débuts en VBA, le
vocabulaire n'est pas toujours évident à saisir. Merci pour ta patience et
explications.
Dernière petite question : je cherche à créer la macro suivante :
Boîte dialogue "Ôter la protection du classeur"
si le mot de passe est valide la macro se poursuit (j'ai fait le reste)
sinon, MsgBox "Mot de passe erroné. La gestion des horaires est limité à
l'administration"
merci encore
Caroline
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
4230c8f9$0$3124$8fcfb975@news.wanadoo.fr...
non, Caroline ca n'a pas exactement à voir avec l'obligation de saisir
le mdp .
EnablecancelKey=xldisabled veut dire que si l'utilisateur clique sur ESC
ou sur Ctrl+Pause pendant que la macro est exécutée ,celle-ci ne
s'interrompt pas.
En conséquence, même s'il ne veut pas saisir de mdp , il ne peut pas
faire planter la macro et fermer le fichier en l'état.Donc il est
contraint à laisser la macro se dérouler et par voie de conséquence à
lui reproposer la boite de dialogue mdp du classeur puis ensuite celle
des feuilles jusqu'à ce que , de guerre lasse, il finisse enfin par
saisir un mdp valide de classeur puis un mdp pour les feuilles.
Je me répète depuis 3 POSTS : ce qui oblige l'utilsateur à saisir un mdp
valide (c.à.d non vide)pour le classeur c'est Thisworkbook.unprotect ""
et la boucle Do while Thisworkbook.protectcontentsúlse.
A+
Re-bonjour Anonymous,
J'ai ajouté ce que tu suggères ci-bas... cela semble éviter que
l'utilisateur n'entre aucun mot de passe, donc le mdp n'est plus
facultatif
mais obligatoire, est-ce que je comprends bien ??
Enfin, pour éviter eventuellement que l'utilisateur ne puisse fermer
le
classeur, il faudrait rajouter un
Application.EnableCancelKey=xlDisabled
en
début de macro et un Application.EnableCancelKey =xlInterrupt à la fin
mais
c'est à manier avec précaution
"anonymousA" <anonymousA@discussions.microsoft.com> a écrit dans le
message
de news: C2B8AA82-6179-4C7C-BDBD-D1E42B2E71D5@microsoft.com...
bonjour,
pour la 1ere question, le Thisworkbook.unprotect "" est là pour tester
si
le
classeur n'a pas été protégé par un chaine vide,ce qui rendrait de
facto
la
protection bien faible et le on error qui précede est la pour éviter
dans
ce
test que si jamais il y a déjà une protection de classeur , le
programme
ne
se plante.
Ensuite il est à nouveau répété dans la procédure pour les mêmes
raisons.
Par ailleurs, le programme d'envoi automatique de la fenêtre de
dialogue
de
la protcetion du classeur ,une fois son 1er test
Thisworkbook.unprotect
""
réalisé, ne se déclenche QUE si vraiment il n'y a pas de protection de
classeur. Je viens de refaire l'essai.
Enfin, pour éviter eventuellement que l'utilisateur ne puisse fermer
le
classeur, il faudrait rajouter un
Application.EnableCancelKey=xlDisabled
en
début de macro et un Application.EnableCancelKey =xlInterrupt à la fin
mais
c'est à manier avec précaution.
Pour la 2eme question , je ne vois pas, enableselections ou scrollarea
peut-être.
A+
Bonjour à tous !
Au bas, voici une macro sur laquelle je dois faire des petits
ajustements
mais je n'y arrive pas. Juste vous dire que le but de celle-ci est
qu'à
la
fermeture d'un classeur, l'utilisateur est forcer de remettre la
protection
sur les feuilles et de protéger le classeur (tout ça avec un mot de
passe).
La macro est presque à point, mais : au départ, il n'est pas
nécessaire
que
la boîte "Ôter la protection du classeur" s'ouvre... il serait bien
que
seulement si la protection du classeur n'est pas activé, là d'accord
une
boîte "Protéger le classeur" s'ouvre. (en ce moment, le programme
demande
toujours d'ôter la protection et de remettre la protection, etc.)
Dernière petite chose, lorsque j'ouvre le classeur, la fenêtre du
classeur
ne contient plus les barres de défilement verticales et je ne peux
plus
"déplacer" cette fenêtre en "clique-glisse sur le bleu du haut". Pour
résoudre ces 2 problèmes, j'enlève la protection du classeur, et tout
se
replace. Bizarre ??
Merci pour votre aide
Caroline
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'remet la protection sur toutes les feuilles et protéger le classeur
On Error Resume Next
ThisWorkbook.Unprotect ""
Do While ThisWorkbook.ProtectStructure = False
MsgBox "Vous devez proteger ce classeur avant fermeture"
Application.CommandBars.FindControl(ID:4).Execute
ThisWorkbook.Unprotect ""
Loop
Err.Clear
For I = 1 To Sheets.Count
If Sheets(I).ProtectContents = False Then
Sheets(I).Activate
Application.CommandBars.FindControl(ID:3).Execute
End If
Next
Bonsoir Caroline,
Tu peux insérer ceci dans ton code....
Si ta feuille est protégée lorsque cette ligne de code s'exécute, tu auras
une boîte de dialogue te demandant de saisir
le mot de passe pour déprotéger la feuille active. Cependant, si la
feuille n'est pas protégée, ce sera une fenêtre qui
s'affichera pour protéger la feuille.
'--------------------
If Application.Dialogs(xlDialogProtectDocument).Show = False Then
Exit Sub
End If
'--------------------
Salutations!
"Caroline L." a écrit dans le message de news:
Ch5Yd.45289$
D'accord, merci.
Là j'ai compris. Tu sais, je ne suis encore qu'à mes débuts en VBA, le
vocabulaire n'est pas toujours évident à saisir. Merci pour ta patience et
explications.
Dernière petite question : je cherche à créer la macro suivante :
Boîte dialogue "Ôter la protection du classeur"
si le mot de passe est valide la macro se poursuit (j'ai fait le reste)
sinon, MsgBox "Mot de passe erroné. La gestion des horaires est limité à
l'administration"
merci encore
Caroline
"anonymousA" a écrit dans le message de news:
4230c8f9$0$3124$non, Caroline ca n'a pas exactement à voir avec l'obligation de saisir
le mdp .
EnablecancelKey=xldisabled veut dire que si l'utilisateur clique sur ESC
ou sur Ctrl+Pause pendant que la macro est exécutée ,celle-ci ne
s'interrompt pas.
En conséquence, même s'il ne veut pas saisir de mdp , il ne peut pas
faire planter la macro et fermer le fichier en l'état.Donc il est
contraint à laisser la macro se dérouler et par voie de conséquence à
lui reproposer la boite de dialogue mdp du classeur puis ensuite celle
des feuilles jusqu'à ce que , de guerre lasse, il finisse enfin par
saisir un mdp valide de classeur puis un mdp pour les feuilles.
Je me répète depuis 3 POSTS : ce qui oblige l'utilsateur à saisir un mdp
valide (c.à.d non vide)pour le classeur c'est Thisworkbook.unprotect ""
et la boucle Do while Thisworkbook.protectcontentsúlse.
A+Re-bonjour Anonymous,
J'ai ajouté ce que tu suggères ci-bas... cela semble éviter que
l'utilisateur n'entre aucun mot de passe, donc le mdp n'est plus
facultatifmais obligatoire, est-ce que je comprends bien ??Enfin, pour éviter eventuellement que l'utilisateur ne puisse fermer
le
classeur, il faudrait rajouter un
Application.EnableCancelKey=xlDisabled
endébut de macro et un Application.EnableCancelKey =xlInterrupt à la fin
maisc'est à manier avec précaution
"anonymousA" a écrit dans le
messagede news:bonjour,
pour la 1ere question, le Thisworkbook.unprotect "" est là pour tester
si
leclasseur n'a pas été protégé par un chaine vide,ce qui rendrait de
facto
laprotection bien faible et le on error qui précede est la pour éviter
dans
cetest que si jamais il y a déjà une protection de classeur , le
programme
nese plante.
Ensuite il est à nouveau répété dans la procédure pour les mêmes
raisons.
Par ailleurs, le programme d'envoi automatique de la fenêtre de
dialogue
dela protcetion du classeur ,une fois son 1er test
Thisworkbook.unprotect
""réalisé, ne se déclenche QUE si vraiment il n'y a pas de protection de
classeur. Je viens de refaire l'essai.
Enfin, pour éviter eventuellement que l'utilisateur ne puisse fermer
le
classeur, il faudrait rajouter un
Application.EnableCancelKey=xlDisabled
endébut de macro et un Application.EnableCancelKey =xlInterrupt à la fin
maisc'est à manier avec précaution.
Pour la 2eme question , je ne vois pas, enableselections ou scrollarea
peut-être.
A+Bonjour à tous !
Au bas, voici une macro sur laquelle je dois faire des petits
ajustementsmais je n'y arrive pas. Juste vous dire que le but de celle-ci est
qu'à
lafermeture d'un classeur, l'utilisateur est forcer de remettre la
protectionsur les feuilles et de protéger le classeur (tout ça avec un mot de
passe).La macro est presque à point, mais : au départ, il n'est pas
nécessaire
quela boîte "Ôter la protection du classeur" s'ouvre... il serait bien
que
seulement si la protection du classeur n'est pas activé, là d'accord
uneboîte "Protéger le classeur" s'ouvre. (en ce moment, le programme
demandetoujours d'ôter la protection et de remettre la protection, etc.)
Dernière petite chose, lorsque j'ouvre le classeur, la fenêtre du
classeurne contient plus les barres de défilement verticales et je ne peux
plus
"déplacer" cette fenêtre en "clique-glisse sur le bleu du haut". Pour
résoudre ces 2 problèmes, j'enlève la protection du classeur, et tout
sereplace. Bizarre ??
Merci pour votre aide
Caroline
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'remet la protection sur toutes les feuilles et protéger le classeur
On Error Resume Next
ThisWorkbook.Unprotect ""
Do While ThisWorkbook.ProtectStructure = False
MsgBox "Vous devez proteger ce classeur avant fermeture"
Application.CommandBars.FindControl(ID:4).Execute
ThisWorkbook.Unprotect ""
Loop
Err.Clear
For I = 1 To Sheets.Count
If Sheets(I).ProtectContents = False Then
Sheets(I).Activate
Application.CommandBars.FindControl(ID:3).Execute
End If
Next
Bonsoir,
Essaye ce code
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'remet la protection sur toutes les feuilles et protéger le classeur
'On Error Resume Next
For I = 1 To Sheets.Count
toto = Sheets(I).ProtectContents
Do While Sheets(I).ProtectContents = False
Sheets(I).Activate
nom = ActiveSheet.Name
MsgBox "Vous devez proteger cette feuille avant fermeture" & nom
Application.CommandBars.FindControl(ID:3).Execute
Loop
Next
'ThisWorkbook.Unprotect ""
Do While ThisWorkbook.ProtectStructure = False
MsgBox "Vous devez proteger ce classeur avant fermeture"
Application.CommandBars.FindControl(ID:4).Execute
'ThisWorkbook.Unprotect ""
Loop
Err.Clear
End Sub
2) le classeur est figé car protégé.
Pourquoi ne protège tu pas toi même les feuilles avec ta macro ?
les utilisateurs doivent t'ils saisir un mot de passe ?
Oliv'
"Caroline L." a écrit dans le message de news:
xx_Xd.22260$
Bonjour à tous !
Au bas, voici une macro sur laquelle je dois faire des petits ajustements
mais je n'y arrive pas. Juste vous dire que le but de celle-ci est qu'à la
fermeture d'un classeur, l'utilisateur est forcer de remettre la
protection
sur les feuilles et de protéger le classeur (tout ça avec un mot de
passe).
La macro est presque à point, mais : au départ, il n'est pas nécessaire
que
la boîte "Ôter la protection du classeur" s'ouvre... il serait bien que
seulement si la protection du classeur n'est pas activé, là d'accord une
boîte "Protéger le classeur" s'ouvre. (en ce moment, le programme demande
toujours d'ôter la protection et de remettre la protection, etc.)
Dernière petite chose, lorsque j'ouvre le classeur, la fenêtre du classeur
ne contient plus les barres de défilement verticales et je ne peux plus
"déplacer" cette fenêtre en "clique-glisse sur le bleu du haut". Pour
résoudre ces 2 problèmes, j'enlève la protection du classeur, et tout se
replace. Bizarre ??
Merci pour votre aide
Caroline
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'remet la protection sur toutes les feuilles et protéger le classeur
On Error Resume Next
ThisWorkbook.Unprotect ""
Do While ThisWorkbook.ProtectStructure = False
MsgBox "Vous devez proteger ce classeur avant fermeture"
Application.CommandBars.FindControl(ID:4).Execute
ThisWorkbook.Unprotect ""
Loop
Err.Clear
For I = 1 To Sheets.Count
If Sheets(I).ProtectContents = False Then
Sheets(I).Activate
Application.CommandBars.FindControl(ID:3).Execute
End If
Next
Bonsoir,
Essaye ce code
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'remet la protection sur toutes les feuilles et protéger le classeur
'On Error Resume Next
For I = 1 To Sheets.Count
toto = Sheets(I).ProtectContents
Do While Sheets(I).ProtectContents = False
Sheets(I).Activate
nom = ActiveSheet.Name
MsgBox "Vous devez proteger cette feuille avant fermeture" & nom
Application.CommandBars.FindControl(ID:3).Execute
Loop
Next
'ThisWorkbook.Unprotect ""
Do While ThisWorkbook.ProtectStructure = False
MsgBox "Vous devez proteger ce classeur avant fermeture"
Application.CommandBars.FindControl(ID:4).Execute
'ThisWorkbook.Unprotect ""
Loop
Err.Clear
End Sub
2) le classeur est figé car protégé.
Pourquoi ne protège tu pas toi même les feuilles avec ta macro ?
les utilisateurs doivent t'ils saisir un mot de passe ?
Oliv'
"Caroline L." <caroland@videotron.ca> a écrit dans le message de news:
xx_Xd.22260$NW4.99553@weber.videotron.net...
Bonjour à tous !
Au bas, voici une macro sur laquelle je dois faire des petits ajustements
mais je n'y arrive pas. Juste vous dire que le but de celle-ci est qu'à la
fermeture d'un classeur, l'utilisateur est forcer de remettre la
protection
sur les feuilles et de protéger le classeur (tout ça avec un mot de
passe).
La macro est presque à point, mais : au départ, il n'est pas nécessaire
que
la boîte "Ôter la protection du classeur" s'ouvre... il serait bien que
seulement si la protection du classeur n'est pas activé, là d'accord une
boîte "Protéger le classeur" s'ouvre. (en ce moment, le programme demande
toujours d'ôter la protection et de remettre la protection, etc.)
Dernière petite chose, lorsque j'ouvre le classeur, la fenêtre du classeur
ne contient plus les barres de défilement verticales et je ne peux plus
"déplacer" cette fenêtre en "clique-glisse sur le bleu du haut". Pour
résoudre ces 2 problèmes, j'enlève la protection du classeur, et tout se
replace. Bizarre ??
Merci pour votre aide
Caroline
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'remet la protection sur toutes les feuilles et protéger le classeur
On Error Resume Next
ThisWorkbook.Unprotect ""
Do While ThisWorkbook.ProtectStructure = False
MsgBox "Vous devez proteger ce classeur avant fermeture"
Application.CommandBars.FindControl(ID:4).Execute
ThisWorkbook.Unprotect ""
Loop
Err.Clear
For I = 1 To Sheets.Count
If Sheets(I).ProtectContents = False Then
Sheets(I).Activate
Application.CommandBars.FindControl(ID:3).Execute
End If
Next
Bonsoir,
Essaye ce code
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'remet la protection sur toutes les feuilles et protéger le classeur
'On Error Resume Next
For I = 1 To Sheets.Count
toto = Sheets(I).ProtectContents
Do While Sheets(I).ProtectContents = False
Sheets(I).Activate
nom = ActiveSheet.Name
MsgBox "Vous devez proteger cette feuille avant fermeture" & nom
Application.CommandBars.FindControl(ID:3).Execute
Loop
Next
'ThisWorkbook.Unprotect ""
Do While ThisWorkbook.ProtectStructure = False
MsgBox "Vous devez proteger ce classeur avant fermeture"
Application.CommandBars.FindControl(ID:4).Execute
'ThisWorkbook.Unprotect ""
Loop
Err.Clear
End Sub
2) le classeur est figé car protégé.
Pourquoi ne protège tu pas toi même les feuilles avec ta macro ?
les utilisateurs doivent t'ils saisir un mot de passe ?
Oliv'
"Caroline L." a écrit dans le message de news:
xx_Xd.22260$
Bonjour à tous !
Au bas, voici une macro sur laquelle je dois faire des petits ajustements
mais je n'y arrive pas. Juste vous dire que le but de celle-ci est qu'à la
fermeture d'un classeur, l'utilisateur est forcer de remettre la
protection
sur les feuilles et de protéger le classeur (tout ça avec un mot de
passe).
La macro est presque à point, mais : au départ, il n'est pas nécessaire
que
la boîte "Ôter la protection du classeur" s'ouvre... il serait bien que
seulement si la protection du classeur n'est pas activé, là d'accord une
boîte "Protéger le classeur" s'ouvre. (en ce moment, le programme demande
toujours d'ôter la protection et de remettre la protection, etc.)
Dernière petite chose, lorsque j'ouvre le classeur, la fenêtre du classeur
ne contient plus les barres de défilement verticales et je ne peux plus
"déplacer" cette fenêtre en "clique-glisse sur le bleu du haut". Pour
résoudre ces 2 problèmes, j'enlève la protection du classeur, et tout se
replace. Bizarre ??
Merci pour votre aide
Caroline
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'remet la protection sur toutes les feuilles et protéger le classeur
On Error Resume Next
ThisWorkbook.Unprotect ""
Do While ThisWorkbook.ProtectStructure = False
MsgBox "Vous devez proteger ce classeur avant fermeture"
Application.CommandBars.FindControl(ID:4).Execute
ThisWorkbook.Unprotect ""
Loop
Err.Clear
For I = 1 To Sheets.Count
If Sheets(I).ProtectContents = False Then
Sheets(I).Activate
Application.CommandBars.FindControl(ID:3).Execute
End If
Next