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 ...
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 ...
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 ...
exemple
Feuil1.select
Selection.Copy
autant faire:
Feuil1.Copy
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é.
'@+
'LStephBonsoir,
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 ...
exemple
Feuil1.select
Selection.Copy
autant faire:
Feuil1.Copy
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 ...
exemple
Feuil1.select
Selection.Copy
autant faire:
Feuil1.Copy
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é.
'@+
'LStephBonsoir,
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 ...
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é.
'@+
'LStephBonsoir,
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 ...
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 ...
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é.
'@+
'LStephBonsoir,
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 ...
...oupss, attention je donnais un mauvais exempleexemple
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éeBonsoir,
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é.
'@+
'LStephBonsoir,
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 ...
...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 ...
...oupss, attention je donnais un mauvais exempleexemple
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éeBonsoir,
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é.
'@+
'LStephBonsoir,
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 ...
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é.
'@+
'LStephBonsoir,
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 ...
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" <lecocosteph@frite.fr> a écrit dans le message de news:
uNNxYWA8HHA.3716@TK2MSFTNGP03.phx.gbl...
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 ...
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é.
'@+
'LStephBonsoir,
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 ...
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
@+
'lStephBonjour 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é.
'@+
'LStephBonsoir,
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 ...
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" <lecocosteph@frite.fr> a écrit dans le message de news:
uNNxYWA8HHA.3716@TK2MSFTNGP03.phx.gbl...
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 ...
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
@+
'lStephBonjour 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é.
'@+
'LStephBonsoir,
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 ...
Ca lance MaProc, mais (apparemment) la procédure reste sur la feuille 5
Ca lance MaProc, mais (apparemment) la procédure reste sur la feuille 5
Ca lance MaProc, mais (apparemment) la procédure reste sur la feuille 5
Ca lance MaProc, mais (apparemment) la procédure reste sur la feuille 5
Ca lance MaProc, mais (apparemment) la procédure reste sur la feuille 5
Ca lance MaProc, mais (apparemment) la procédure reste sur la feuille 5
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
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 avecune Scroll ...
'on sort de ta question initiale mais c'est quand même intéressant!
@+
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
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
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 ...
'on sort de ta question initiale mais c'est quand même intéressant!
@+
JP
"lSteph" <gmLSteph@gmail.com> a écrit dans le message de news:
1189156653.127829.87760@19g2000hsx.googlegroups.com...
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" <nospam-j-pas...@free.fr> wrote:
Ca lance MaProc, mais (apparemment) la procédure reste sur la feuille 5
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
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 avecune Scroll ...
'on sort de ta question initiale mais c'est quand même intéressant!
@+
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
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 pasSheets(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 avecune 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
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" <gmLSteph@gmail.com> a écrit dans le message de news:
1189156653.127829.87760@19g2000hsx.googlegroups.com...
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" <nospam-j-pas...@free.fr> wrote:
Ca lance MaProc, mais (apparemment) la procédure reste sur la feuille 5
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 pasSheets(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 avecune 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