Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

(vba) déprotéger plusieurs feuilles en même temps

10 réponses
Avatar
j-pascal
Bonsoir,

Lorsque plusieurs feuilles sont sélectionnées "simultanément", je n'arrive
pas à les déprotéger, et à les reprotéger successivement :

'----------------
Sub Déprotection_Feuilles()
Dim i As Integer
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Sheets(i).Unprotect
Next
End Sub

Sub Protection_Feuilles()
Dim i As Integer
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Sheets(i).Protect DrawingObjects:=False, Contents:=True,
Scenarios:=False
Sheets(i).EnableSelection = xlUnlockedCells
Next
End Sub
'------------------

Merci d'avance pour vos lumières ...

--
Cordialement @+
JP

10 réponses

Avatar
LSteph
Bonsoir,

Pour la protection tu boucles sur tes feuilles et le tour est joué
pas besoin de toutes les sélectionner exemple:

Private Sub Workbook_Open()
Dim sh As Worksheet
Application.ScreenUpdating = False'cela masque l'execution
For Each sh In ThisWorkbook.Sheets
sh.Protect Password:="toto", userinterfaceonly:=True
Next
Sheets(1).Activate 'cela c'est parcequ'on veut
[a1].Select 'mais c'est facultatif
Application.ScreenUpdating = True 'cela c'est inutile
'puisqu'end sub rétablira
End Sub

'''''''''''''

En VBA .Select est à éviter, sauf qd on peut pas faire autrement,
déjà parceque c'est souvent inutile...
exemple
Feuil1.select
Selection.Copy
autant faire:
Feuil1.Copy

C'est utile
pour agir sur certains objets et encore cela peut dépendre des versions
d'excel ou quand on veut vraiment qu'un objet soit activé ou électionné.

'@+

'LSteph


Bonsoir,

Lorsque plusieurs feuilles sont sélectionnées "simultanément", je
n'arrive pas à les déprotéger, et à les reprotéger successivement :

'----------------
Sub Déprotection_Feuilles()
Dim i As Integer
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Sheets(i).Unprotect
Next
End Sub

Sub Protection_Feuilles()
Dim i As Integer
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Sheets(i).Protect DrawingObjects:úlse, Contents:=True,
Scenarios:úlse
Sheets(i).EnableSelection = xlUnlockedCells
Next
End Sub
'------------------

Merci d'avance pour vos lumières ...



Avatar
LSteph
...oupss, attention je donnais un mauvais exemple

exemple
Feuil1.select
Selection.Copy
autant faire:
Feuil1.Copy


Exemple
[A1].select
selection.copy

donc mieux

[a1].copy

..pourquoi mauvais exemple

Parceque c'est

Feuil1.Select
ActiveSheet.Copy

qui serait à écrire
Feuil1.Copy

et donc la feuille copiée en tant que nouveau classeur
tandis que dans l'autre ca c'est la sélection dans la feuille qui es copiée


Bonsoir,

Pour la protection tu boucles sur tes feuilles et le tour est joué
pas besoin de toutes les sélectionner exemple:

Private Sub Workbook_Open()
Dim sh As Worksheet
Application.ScreenUpdating = False'cela masque l'execution
For Each sh In ThisWorkbook.Sheets
sh.Protect Password:="toto", userinterfaceonly:=True
Next
Sheets(1).Activate 'cela c'est parcequ'on veut
[a1].Select 'mais c'est facultatif
Application.ScreenUpdating = True 'cela c'est inutile
'puisqu'end sub rétablira
End Sub

'''''''''''''

En VBA .Select est à éviter, sauf qd on peut pas faire autrement,
déjà parceque c'est souvent inutile...
exemple
Feuil1.select
Selection.Copy
autant faire:
Feuil1.Copy

C'est utile
pour agir sur certains objets et encore cela peut dépendre des versions
d'excel ou quand on veut vraiment qu'un objet soit activé ou électionné.

'@+

'LSteph


Bonsoir,

Lorsque plusieurs feuilles sont sélectionnées "simultanément", je
n'arrive pas à les déprotéger, et à les reprotéger successivement :

'----------------
Sub Déprotection_Feuilles()
Dim i As Integer
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Sheets(i).Unprotect
Next
End Sub

Sub Protection_Feuilles()
Dim i As Integer
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Sheets(i).Protect DrawingObjects:úlse, Contents:=True,
Scenarios:úlse
Sheets(i).EnableSelection = xlUnlockedCells
Next
End Sub
'------------------

Merci d'avance pour vos lumières ...





Avatar
j-pascal
Bonjour Stéphane,

Merci ! Ton code fonctionne à merveille ... pourvu qu'on souhaite
"Déprotéger" toutes les feuilles ; j'ai donc ceci :

'--------------------
Sub Déprotection_Feuilles()
Dim sh As Worksheet

Application.ScreenUpdating = False
For Each sh In ThisWorkbook.Sheets
sh.Unprotect Password:="" , userinterfaceonly:=True
Next
Sheets(5).Activate
End Sub
'--------------------

Le pb, c'est que je souhaite déprotéger les feuilles 5 à 16 afin d'y lancer
une procédure !

'--------------------
Columns("AU:AZ").Select
Selection.EntireColumn.Hidden = False

Rows("1:4").Select
Selection.EntireRow.Hidden = False

Range("P9").Select
ActiveWindow.FreezePanes = False

Rows("1:4").Select
Selection.EntireRow.Hidden = False

Range("A2").Select
'--------------------

J'imagine que (si je suis tes conseils en parallèle de ta présente réponse,
on doit pouvoir résumer à :

'--------------------
Columns("AU:AZ").EntireColumn.Hidden = False
Rows("1:4").EntireRow.Hidden = False

Range("P9").Activate
ActiveWindow.FreezePanes = False

Rows("1:4").EntireRow.Hidden = False

Range("A2").Activate
'------------------------------

C'est bien cela ?

Comme cette dernière procédure ne concerne pas les feuilles 1 à 4, ça fait
un peu désordre !

@+ ?

JP

PS : J'espère que tu ne m'en voudras de te "flatter" publiquement, mais
j'apprécie bcp ton sens de la pédagogie ! ;-)


"LSteph" a écrit dans le message de news:

Bonsoir,

Pour la protection tu boucles sur tes feuilles et le tour est joué
pas besoin de toutes les sélectionner exemple:

Private Sub Workbook_Open()
Dim sh As Worksheet
Application.ScreenUpdating = False'cela masque l'execution
For Each sh In ThisWorkbook.Sheets
sh.Protect Password:="toto", userinterfaceonly:=True
Next
Sheets(1).Activate 'cela c'est parcequ'on veut
[a1].Select 'mais c'est facultatif
Application.ScreenUpdating = True 'cela c'est inutile
'puisqu'end sub rétablira
End Sub

'''''''''''''

En VBA .Select est à éviter, sauf qd on peut pas faire autrement,
déjà parceque c'est souvent inutile...
exemple
Feuil1.select
Selection.Copy
autant faire:
Feuil1.Copy

C'est utile
pour agir sur certains objets et encore cela peut dépendre des versions
d'excel ou quand on veut vraiment qu'un objet soit activé ou électionné.

'@+

'LSteph


Bonsoir,

Lorsque plusieurs feuilles sont sélectionnées "simultanément", je
n'arrive pas à les déprotéger, et à les reprotéger successivement :

'----------------
Sub Déprotection_Feuilles()
Dim i As Integer
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Sheets(i).Unprotect
Next
End Sub

Sub Protection_Feuilles()
Dim i As Integer
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Sheets(i).Protect DrawingObjects:úlse, Contents:=True,
Scenarios:úlse
Sheets(i).EnableSelection = xlUnlockedCells
Next
End Sub
'------------------

Merci d'avance pour vos lumières ...





Avatar
j-pascal
Re,

J'ai bien noté.

(Re) Merci ;-)

Ca me fait penser qu'il faut que je revienne sur un de tes anciens msg où
j'ai vu que tu avais une façon très "épurée" d'écrire les procédures de tris
...

@+

JP

"LSteph" a écrit dans le message de news:
OYa%
...oupss, attention je donnais un mauvais exemple

exemple
Feuil1.select
Selection.Copy
autant faire:
Feuil1.Copy


Exemple
[A1].select
selection.copy

donc mieux

[a1].copy

..pourquoi mauvais exemple

Parceque c'est

Feuil1.Select
ActiveSheet.Copy

qui serait à écrire
Feuil1.Copy

et donc la feuille copiée en tant que nouveau classeur
tandis que dans l'autre ca c'est la sélection dans la feuille qui es
copiée


Bonsoir,

Pour la protection tu boucles sur tes feuilles et le tour est joué
pas besoin de toutes les sélectionner exemple:

Private Sub Workbook_Open()
Dim sh As Worksheet
Application.ScreenUpdating = False'cela masque l'execution
For Each sh In ThisWorkbook.Sheets
sh.Protect Password:="toto", userinterfaceonly:=True
Next
Sheets(1).Activate 'cela c'est parcequ'on veut
[a1].Select 'mais c'est facultatif
Application.ScreenUpdating = True 'cela c'est inutile
'puisqu'end sub rétablira
End Sub

'''''''''''''

En VBA .Select est à éviter, sauf qd on peut pas faire autrement,
déjà parceque c'est souvent inutile...
exemple
Feuil1.select
Selection.Copy
autant faire:
Feuil1.Copy

C'est utile
pour agir sur certains objets et encore cela peut dépendre des versions
d'excel ou quand on veut vraiment qu'un objet soit activé ou électionné.

'@+

'LSteph


Bonsoir,

Lorsque plusieurs feuilles sont sélectionnées "simultanément", je
n'arrive pas à les déprotéger, et à les reprotéger successivement :

'----------------
Sub Déprotection_Feuilles()
Dim i As Integer
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Sheets(i).Unprotect
Next
End Sub

Sub Protection_Feuilles()
Dim i As Integer
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Sheets(i).Protect DrawingObjects:úlse, Contents:=True,
Scenarios:úlse
Sheets(i).EnableSelection = xlUnlockedCells
Next
End Sub
'------------------

Merci d'avance pour vos lumières ...







Avatar
LSteph
Bonjour,

Il me semble qu'on a évoqué déjà cette rubrique
mais atention entre CodeName ou Name

Feuil1 peut être écrite "Feuil26" ou "Zaza" et se trouver en troisième
position selon le contexte.

Je te laisse donc envisager les autres hypothèses qui en découlent
en voici une:

Dim i As Byte
For i = 5 To 16
Worksheets(i).UnProtect
Call maProc
Next

@+

'lSteph


Bonjour Stéphane,

Merci ! Ton code fonctionne à merveille ... pourvu qu'on souhaite
"Déprotéger" toutes les feuilles ; j'ai donc ceci :

'--------------------
Sub Déprotection_Feuilles()
Dim sh As Worksheet

Application.ScreenUpdating = False
For Each sh In ThisWorkbook.Sheets
sh.Unprotect Password:="" , userinterfaceonly:=True
Next
Sheets(5).Activate
End Sub
'--------------------

Le pb, c'est que je souhaite déprotéger les feuilles 5 à 16 afin d'y
lancer une procédure !

'--------------------
Columns("AU:AZ").Select
Selection.EntireColumn.Hidden = False

Rows("1:4").Select
Selection.EntireRow.Hidden = False

Range("P9").Select
ActiveWindow.FreezePanes = False

Rows("1:4").Select
Selection.EntireRow.Hidden = False

Range("A2").Select
'--------------------

J'imagine que (si je suis tes conseils en parallèle de ta présente
réponse, on doit pouvoir résumer à :

'--------------------
Columns("AU:AZ").EntireColumn.Hidden = False
Rows("1:4").EntireRow.Hidden = False

Range("P9").Activate
ActiveWindow.FreezePanes = False

Rows("1:4").EntireRow.Hidden = False

Range("A2").Activate
'------------------------------

C'est bien cela ?

Comme cette dernière procédure ne concerne pas les feuilles 1 à 4, ça
fait un peu désordre !

@+ ?

JP

PS : J'espère que tu ne m'en voudras de te "flatter" publiquement, mais
j'apprécie bcp ton sens de la pédagogie ! ;-)


"LSteph" a écrit dans le message de news:

Bonsoir,

Pour la protection tu boucles sur tes feuilles et le tour est joué
pas besoin de toutes les sélectionner exemple:

Private Sub Workbook_Open()
Dim sh As Worksheet
Application.ScreenUpdating = False'cela masque l'execution
For Each sh In ThisWorkbook.Sheets
sh.Protect Password:="toto", userinterfaceonly:=True
Next
Sheets(1).Activate 'cela c'est parcequ'on veut
[a1].Select 'mais c'est facultatif
Application.ScreenUpdating = True 'cela c'est inutile
'puisqu'end sub rétablira
End Sub

'''''''''''''

En VBA .Select est à éviter, sauf qd on peut pas faire autrement,
déjà parceque c'est souvent inutile...
exemple
Feuil1.select
Selection.Copy
autant faire:
Feuil1.Copy

C'est utile
pour agir sur certains objets et encore cela peut dépendre des
versions d'excel ou quand on veut vraiment qu'un objet soit activé ou
électionné.

'@+

'LSteph


Bonsoir,

Lorsque plusieurs feuilles sont sélectionnées "simultanément", je
n'arrive pas à les déprotéger, et à les reprotéger successivement :

'----------------
Sub Déprotection_Feuilles()
Dim i As Integer
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Sheets(i).Unprotect
Next
End Sub

Sub Protection_Feuilles()
Dim i As Integer
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Sheets(i).Protect DrawingObjects:úlse, Contents:=True,
Scenarios:úlse
Sheets(i).EnableSelection = xlUnlockedCells
Next
End Sub
'------------------

Merci d'avance pour vos lumières ...








Avatar
j-pascal
Re,

"LSteph" a écrit dans le message de news:

Bonjour,

Il me semble qu'on a évoqué déjà cette rubrique
mais atention entre CodeName ou Name

Feuil1 peut être écrite "Feuil26" ou "Zaza" et se trouver en troisième
position selon le contexte.

Je te laisse donc envisager les autres hypothèses qui en découlent
en voici une:

Dim i As Byte
For i = 5 To 16
Worksheets(i).UnProtect
Call maProc
Next


Ca lance MaProc, mais (apparemment) la procédure reste sur la feuille 5 et
ne se déplace pas sur les autres feuilles !
Il y a peut-être un truc qui m'a échappé ... je vérifierai ça demain ;-)

@+

JP


@+

'lSteph


Bonjour Stéphane,

Merci ! Ton code fonctionne à merveille ... pourvu qu'on souhaite
"Déprotéger" toutes les feuilles ; j'ai donc ceci :

'--------------------
Sub Déprotection_Feuilles()
Dim sh As Worksheet

Application.ScreenUpdating = False
For Each sh In ThisWorkbook.Sheets
sh.Unprotect Password:="" , userinterfaceonly:=True
Next
Sheets(5).Activate
End Sub
'--------------------

Le pb, c'est que je souhaite déprotéger les feuilles 5 à 16 afin d'y
lancer une procédure !

'--------------------
Columns("AU:AZ").Select
Selection.EntireColumn.Hidden = False

Rows("1:4").Select
Selection.EntireRow.Hidden = False

Range("P9").Select
ActiveWindow.FreezePanes = False

Rows("1:4").Select
Selection.EntireRow.Hidden = False

Range("A2").Select
'--------------------

J'imagine que (si je suis tes conseils en parallèle de ta présente
réponse, on doit pouvoir résumer à :

'--------------------
Columns("AU:AZ").EntireColumn.Hidden = False
Rows("1:4").EntireRow.Hidden = False

Range("P9").Activate
ActiveWindow.FreezePanes = False

Rows("1:4").EntireRow.Hidden = False

Range("A2").Activate
'------------------------------

C'est bien cela ?

Comme cette dernière procédure ne concerne pas les feuilles 1 à 4, ça
fait un peu désordre !

@+ ?

JP

PS : J'espère que tu ne m'en voudras de te "flatter" publiquement, mais
j'apprécie bcp ton sens de la pédagogie ! ;-)


"LSteph" a écrit dans le message de news:

Bonsoir,

Pour la protection tu boucles sur tes feuilles et le tour est joué
pas besoin de toutes les sélectionner exemple:

Private Sub Workbook_Open()
Dim sh As Worksheet
Application.ScreenUpdating = False'cela masque l'execution
For Each sh In ThisWorkbook.Sheets
sh.Protect Password:="toto", userinterfaceonly:=True
Next
Sheets(1).Activate 'cela c'est parcequ'on veut
[a1].Select 'mais c'est facultatif
Application.ScreenUpdating = True 'cela c'est inutile
'puisqu'end sub rétablira
End Sub

'''''''''''''

En VBA .Select est à éviter, sauf qd on peut pas faire autrement,
déjà parceque c'est souvent inutile...
exemple
Feuil1.select
Selection.Copy
autant faire:
Feuil1.Copy

C'est utile
pour agir sur certains objets et encore cela peut dépendre des versions
d'excel ou quand on veut vraiment qu'un objet soit activé ou électionné.

'@+

'LSteph


Bonsoir,

Lorsque plusieurs feuilles sont sélectionnées "simultanément", je
n'arrive pas à les déprotéger, et à les reprotéger successivement :

'----------------
Sub Déprotection_Feuilles()
Dim i As Integer
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Sheets(i).Unprotect
Next
End Sub

Sub Protection_Feuilles()
Dim i As Integer
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Sheets(i).Protect DrawingObjects:úlse, Contents:=True,
Scenarios:úlse
Sheets(i).EnableSelection = xlUnlockedCells
Next
End Sub
'------------------

Merci d'avance pour vos lumières ...










Avatar
lSteph
Bonjour,

Le principal est la réponse à ta question.

Sur ce point annexe:

Tout dépend de ce que fait cette "maProc"
Si ce n'est pas un traitement à faire juste sur chaque feuille mais
qui intègre des déplacements ou un traitement global des feuilles
places l'appel après le next

Sinon donne ce code pour qu'on puisse voir.

@+

LSteph

On 7 sep, 00:02, "j-pascal" wrote:
Ca lance MaProc, mais (apparemment) la procédure reste sur la feuille 5


Avatar
j-pascal
Bonsoir Stéphane,

J'ai pu vérifier dans la journée, que ton code fonctionnait bien ... mais il
y a deux "actions" qui sont à l'origine du "bug" (commentées ...) :

'--------------------------------------------
Private Sub CommandButton5_Click()
Dim i As Byte

Unload Menu3
Application.ScreenUpdating = False
Application.EnableEvents = False

For i = 5 To 16
Sheets(i).Unprotect
'Sheets(i).Range("Q9").Select 'impossible ? 'J'ai essayé avec
Activate ;-)
Sheets(i).Rows("1:4").EntireRow.Hidden = False
Sheets(i).Columns("AU:AZ").EntireColumn.Hidden = False
'ActiveWindow.FreezePanes = False 'impossible ??
Next
Application.EnableEvents = True
End Sub
'--------------------------------------------


PS : je ne vois pas pourquoi le fait de sélectionner une cellule (pour
"recentrer" le tableau) serait incompatible. Il faut que j'essaye avec une
Scroll ...

@+

JP

"lSteph" a écrit dans le message de news:

Bonjour,

Le principal est la réponse à ta question.

Sur ce point annexe:

Tout dépend de ce que fait cette "maProc"
Si ce n'est pas un traitement à faire juste sur chaque feuille mais
qui intègre des déplacements ou un traitement global des feuilles
places l'appel après le next

Sinon donne ce code pour qu'on puisse voir.

@+

LSteph

On 7 sep, 00:02, "j-pascal" wrote:
Ca lance MaProc, mais (apparemment) la procédure reste sur la feuille 5


Avatar
LSteph
J'insère entre les lignes
Désolé si je suis un peu plaisantin par endroits sur ce coup là!
On fait surtout pas de select au milieu d'une boucle, sauf s'il s'agit
de traiter quelque objet n'offrant pas d'autre alternative que d'avoir
le focus pour pouvoir être utilisé.

Bonsoir Stéphane,

J'ai pu vérifier dans la journée, que ton code fonctionnait bien ...
mais il y a deux "actions" qui sont à l'origine du "bug" (commentées ...) :

'--------------------------------------------
Private Sub CommandButton5_Click()
Dim i As Byte

Unload Menu3
Application.ScreenUpdating = False
Application.EnableEvents = False

For i = 5 To 16
Sheets(i).Unprotect
'Sheets(i).Range("Q9").Select


'impossible ? 'J'ai essayé avec > Activate ;-)
'et on fait quoi de ce Q9 (sans mauvaise pensée)
's'il faut on active la feuille et ensuite on selectionne la cellule
'mais a priori ce q9 ne nous sert pas
Sheets(i).Rows("1:4").EntireRow.Hidden = False
Sheets(i).Columns("AU:AZ").EntireColumn.Hidden = False
'ActiveWindow.FreezePanes = False 'impossible ??
Next
Application.EnableEvents = True
End Sub
'--------------------------------------------


PS : je ne vois pas pourquoi le fait de sélectionner une cellule (pour
"recentrer" le tableau) serait incompatible.


' sélectionner une 'cellule , est ce bien la façon de réajuster une
'feuille à l'écran?
'nous faut-il un q9 pour cela,?
'Plus sérieusement on agit déjà avec la feuille on a pas dit qu'il
'fallait activer ou sélectionner...on est dans une boucle qui traite
'chaque feuille, si en même tempqs on se ballade à droite et gauche...
'recentrer ou ajuster pourquoi pas mais plus tard ou dans un sheet_activate.
Il faut que j'essaye avec
une Scroll ...
'on sort de ta question initiale mais c'est quand même intéressant!


'@+
' :o)
'lSteph

@+

JP

"lSteph" a écrit dans le message de news:

Bonjour,

Le principal est la réponse à ta question.

Sur ce point annexe:

Tout dépend de ce que fait cette "maProc"
Si ce n'est pas un traitement à faire juste sur chaque feuille mais
qui intègre des déplacements ou un traitement global des feuilles
places l'appel après le next

Sinon donne ce code pour qu'on puisse voir.

@+

LSteph

On 7 sep, 00:02, "j-pascal" wrote:
Ca lance MaProc, mais (apparemment) la procédure reste sur la feuille 5





Avatar
j-pascal
Re,

"LSteph" a écrit dans le message de news:

J'insère entre les lignes
Désolé si je suis un peu plaisantin par endroits sur ce coup là!
On fait surtout pas de select au milieu d'une boucle, sauf s'il s'agit de
traiter quelque objet n'offrant pas d'autre alternative que d'avoir le
focus pour pouvoir être utilisé.

Bonsoir Stéphane,

J'ai pu vérifier dans la journée, que ton code fonctionnait bien ... mais
il y a deux "actions" qui sont à l'origine du "bug" (commentées ...) :

'--------------------------------------------
Private Sub CommandButton5_Click()
Dim i As Byte

Unload Menu3
Application.ScreenUpdating = False
Application.EnableEvents = False

For i = 5 To 16
Sheets(i).Unprotect
'Sheets(i).Range("Q9").Select


'impossible ? 'J'ai essayé avec > Activate ;-)
'et on fait quoi de ce Q9 (sans mauvaise pensée)


lol

En fait, la cellule n'a aucune importance ... Mais dans mon classeur, toutes
les feuilles de mois sont "réglées" pas des volets figés. En supposant que
Q9 soit à l'intersection de ces volets, c'était pour moi l'occasion de
"recentrer" toutes les feuilles au cours de cette procédure.

's'il faut on active la feuille et ensuite on selectionne la cellule
'mais a priori ce q9 ne nous sert pas
Sheets(i).Rows("1:4").EntireRow.Hidden = False
Sheets(i).Columns("AU:AZ").EntireColumn.Hidden = False
'ActiveWindow.FreezePanes = False 'impossible ??
Next
Application.EnableEvents = True
End Sub
'--------------------------------------------


PS : je ne vois pas pourquoi le fait de sélectionner une cellule (pour
"recentrer" le tableau) serait incompatible.



Comme tu le dis plus haut, peut-être faut-il que j'active d'abord la
feuille, etc...

' sélectionner une 'cellule , est ce bien la façon de réajuster une
'feuille à l'écran?


Quand je peux, j'essaye d'utiliser un Scroll ...

'nous faut-il un q9 pour cela,?


Probablement pas :o)

'Plus sérieusement on agit déjà avec la feuille on a pas dit qu'il
'fallait activer ou sélectionner...on est dans une boucle qui traite
'chaque feuille, si en même tempqs on se ballade à droite et gauche...
'recentrer ou ajuster pourquoi pas mais plus tard ou dans un
sheet_activate.
Il faut que j'essaye avec
une Scroll ...
'on sort de ta question initiale mais c'est quand même intéressant!


'@+
' :o)


Merci ;-)

Bonne nuit,

JP

'lSteph

@+

JP

"lSteph" a écrit dans le message de news:

Bonjour,

Le principal est la réponse à ta question.

Sur ce point annexe:

Tout dépend de ce que fait cette "maProc"
Si ce n'est pas un traitement à faire juste sur chaque feuille mais
qui intègre des déplacements ou un traitement global des feuilles
places l'appel après le next

Sinon donne ce code pour qu'on puisse voir.

@+

LSteph

On 7 sep, 00:02, "j-pascal" wrote:
Ca lance MaProc, mais (apparemment) la procédure reste sur la feuille 5