OVH Cloud OVH Cloud

Vba zone deprotégée dans une feuille protégée ???

6 réponses
Avatar
Domi
Bonjour,

Je souhaite que toutes les feuilles d'un classeur soient protégées,
j'utilise donc la 2eme macro ci dessous...
Je dois pouvoir parfois faire des modifs sur une zone précise (B11:M34) qui
est partiellement masquée en utilisation normale.
Pour pouvoir démasquer les lignes C11:C34, je suis obligé de déprotéger ma
feuille et cela m'ennuie... Même si je déprotège la plage qui m'interesse en
cours de macro, je suis obligé de reproteger la feuille en fin de macro car
je veux que le reste de la feuille reste toujours protégé. Hélas dans cette
situation ma plage ("B11:M34") n'est que partiellement déprotégée... je peux
modifier le contenu des cellules mais je n'arrive pas à fusionner les
cellules par exemple à cause de la protection générale de la feuille...

Bref je tourne en rond !
question simple : comment faire pour déprotéger complètement une zone
précise dans une feuille totalement protégée ?
j'espère ne pas avoir été trop confus.
Merci
Domi


Sub AfficherToutesLesLignes()
deprotegertout
[C11:C34].EntireRow.Hidden = False
Range("B11:M34").Select
Selection.Locked = False
Selection.FormulaHidden = False
'protegertout
End Sub


Sub deprotegertout()
Dim Sh As Worksheet
For Each Sh In ActiveWorkbook.Sheets
Sh.Unprotect password:="toto"
Next
End Sub

6 réponses

Avatar
michdenis
Bonjour Domi


Dans le ThisWorkbook de ton classeur,

copie ceci en modifiant le nom de la feuille où se trouve ta plage de cellules.

Tu pourras à la réouverture de ton classeur, effectuer toutes les opérations désirées seulement par macro sans te soucier de
déprotéger ou de reprotéger ta feuille dans la procédure de ta macro.

'--------------------
Private Sub Workbook_Open()
With Worksheets("Feuil1")
.Protect "toto", True, True, True, True
End With

End Sub
'--------------------

Salutations!



"Domi" a écrit dans le message de news:
Bonjour,

Je souhaite que toutes les feuilles d'un classeur soient protégées,
j'utilise donc la 2eme macro ci dessous...
Je dois pouvoir parfois faire des modifs sur une zone précise (B11:M34) qui
est partiellement masquée en utilisation normale.
Pour pouvoir démasquer les lignes C11:C34, je suis obligé de déprotéger ma
feuille et cela m'ennuie... Même si je déprotège la plage qui m'interesse en
cours de macro, je suis obligé de reproteger la feuille en fin de macro car
je veux que le reste de la feuille reste toujours protégé. Hélas dans cette
situation ma plage ("B11:M34") n'est que partiellement déprotégée... je peux
modifier le contenu des cellules mais je n'arrive pas à fusionner les
cellules par exemple à cause de la protection générale de la feuille...

Bref je tourne en rond !
question simple : comment faire pour déprotéger complètement une zone
précise dans une feuille totalement protégée ?
j'espère ne pas avoir été trop confus.
Merci
Domi


Sub AfficherToutesLesLignes()
deprotegertout
[C11:C34].EntireRow.Hidden = False
Range("B11:M34").Select
Selection.Locked = False
Selection.FormulaHidden = False
'protegertout
End Sub


Sub deprotegertout()
Dim Sh As Worksheet
For Each Sh In ActiveWorkbook.Sheets
Sh.Unprotect password:="toto"
Next
End Sub
Avatar
Domi
Merci beaucoup,
Malheureusement si cela apporte un plus de ne pas avoir à déprotéger la
feuille (je note le code précieusement) cela ne resoud pas vraiment mon
problème...
A savoir : sur une feuille protégée. comment modifier le format, fusionner
des cellules..etc dans une zone qui n'est pas protégée (dans protection case
"verrouillée" décochée. Je peux modifier le contenu mais je voudrais aussi
pouvoir modifier les formats (et cela sans avoir à déprotéger la feuille
totalement) ?

A+
Domi

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

Bonjour Domi


Dans le ThisWorkbook de ton classeur,

copie ceci en modifiant le nom de la feuille où se trouve ta plage de
cellules.


Tu pourras à la réouverture de ton classeur, effectuer toutes les
opérations désirées seulement par macro sans te soucier de

déprotéger ou de reprotéger ta feuille dans la procédure de ta macro.

'--------------------
Private Sub Workbook_Open()
With Worksheets("Feuil1")
.Protect "toto", True, True, True, True
End With

End Sub
'--------------------

Salutations!



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

Bonjour,

Je souhaite que toutes les feuilles d'un classeur soient protégées,
j'utilise donc la 2eme macro ci dessous...
Je dois pouvoir parfois faire des modifs sur une zone précise (B11:M34)
qui

est partiellement masquée en utilisation normale.
Pour pouvoir démasquer les lignes C11:C34, je suis obligé de déprotéger ma
feuille et cela m'ennuie... Même si je déprotège la plage qui m'interesse
en

cours de macro, je suis obligé de reproteger la feuille en fin de macro
car

je veux que le reste de la feuille reste toujours protégé. Hélas dans
cette

situation ma plage ("B11:M34") n'est que partiellement déprotégée... je
peux

modifier le contenu des cellules mais je n'arrive pas à fusionner les
cellules par exemple à cause de la protection générale de la feuille...

Bref je tourne en rond !
question simple : comment faire pour déprotéger complètement une zone
précise dans une feuille totalement protégée ?
j'espère ne pas avoir été trop confus.
Merci
Domi


Sub AfficherToutesLesLignes()
deprotegertout
[C11:C34].EntireRow.Hidden = False
Range("B11:M34").Select
Selection.Locked = False
Selection.FormulaHidden = False
'protegertout
End Sub


Sub deprotegertout()
Dim Sh As Worksheet
For Each Sh In ActiveWorkbook.Sheets
Sh.Unprotect password:="toto"
Next
End Sub





Avatar
michdenis
Bonjour Domi,

Si tu le fais par macro, tu pourras appliquer un format défini à une plage de cellules de la feuille. Non ?

Salutations!


"Domi" a écrit dans le message de news:
Merci beaucoup,
Malheureusement si cela apporte un plus de ne pas avoir à déprotéger la
feuille (je note le code précieusement) cela ne resoud pas vraiment mon
problème...
A savoir : sur une feuille protégée. comment modifier le format, fusionner
des cellules..etc dans une zone qui n'est pas protégée (dans protection case
"verrouillée" décochée. Je peux modifier le contenu mais je voudrais aussi
pouvoir modifier les formats (et cela sans avoir à déprotéger la feuille
totalement) ?

A+
Domi

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

Bonjour Domi


Dans le ThisWorkbook de ton classeur,

copie ceci en modifiant le nom de la feuille où se trouve ta plage de
cellules.


Tu pourras à la réouverture de ton classeur, effectuer toutes les
opérations désirées seulement par macro sans te soucier de

déprotéger ou de reprotéger ta feuille dans la procédure de ta macro.

'--------------------
Private Sub Workbook_Open()
With Worksheets("Feuil1")
.Protect "toto", True, True, True, True
End With

End Sub
'--------------------

Salutations!



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

Bonjour,

Je souhaite que toutes les feuilles d'un classeur soient protégées,
j'utilise donc la 2eme macro ci dessous...
Je dois pouvoir parfois faire des modifs sur une zone précise (B11:M34)
qui

est partiellement masquée en utilisation normale.
Pour pouvoir démasquer les lignes C11:C34, je suis obligé de déprotéger ma
feuille et cela m'ennuie... Même si je déprotège la plage qui m'interesse
en

cours de macro, je suis obligé de reproteger la feuille en fin de macro
car

je veux que le reste de la feuille reste toujours protégé. Hélas dans
cette

situation ma plage ("B11:M34") n'est que partiellement déprotégée... je
peux

modifier le contenu des cellules mais je n'arrive pas à fusionner les
cellules par exemple à cause de la protection générale de la feuille...

Bref je tourne en rond !
question simple : comment faire pour déprotéger complètement une zone
précise dans une feuille totalement protégée ?
j'espère ne pas avoir été trop confus.
Merci
Domi


Sub AfficherToutesLesLignes()
deprotegertout
[C11:C34].EntireRow.Hidden = False
Range("B11:M34").Select
Selection.Locked = False
Selection.FormulaHidden = False
'protegertout
End Sub


Sub deprotegertout()
Dim Sh As Worksheet
For Each Sh In ActiveWorkbook.Sheets
Sh.Unprotect password:="toto"
Next
End Sub





Avatar
Domi
Tout à fait, mais hélas je ne peux pas faire les modifs par macros pour la
simple raison qu'elles peuvent être très variables...
J'ai fouillé un peu dans l'historique du groupe et il semble que quelqu'un
avait déjà été confronté à un pb similaire...et à priori ce serait
infaisable sous 97 et 2000...
En tout cas merci pour ton aide.
Domi

"michdenis" a écrit dans le message de news:
#
Bonjour Domi,

Si tu le fais par macro, tu pourras appliquer un format défini à une plage
de cellules de la feuille. Non ?


Salutations!


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

Merci beaucoup,
Malheureusement si cela apporte un plus de ne pas avoir à déprotéger la
feuille (je note le code précieusement) cela ne resoud pas vraiment mon
problème...
A savoir : sur une feuille protégée. comment modifier le format, fusionner
des cellules..etc dans une zone qui n'est pas protégée (dans protection
case

"verrouillée" décochée. Je peux modifier le contenu mais je voudrais aussi
pouvoir modifier les formats (et cela sans avoir à déprotéger la feuille
totalement) ?

A+
Domi

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

Bonjour Domi


Dans le ThisWorkbook de ton classeur,

copie ceci en modifiant le nom de la feuille où se trouve ta plage de
cellules.


Tu pourras à la réouverture de ton classeur, effectuer toutes les
opérations désirées seulement par macro sans te soucier de

déprotéger ou de reprotéger ta feuille dans la procédure de ta macro.

'--------------------
Private Sub Workbook_Open()
With Worksheets("Feuil1")
.Protect "toto", True, True, True, True
End With

End Sub
'--------------------

Salutations!



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

Bonjour,

Je souhaite que toutes les feuilles d'un classeur soient protégées,
j'utilise donc la 2eme macro ci dessous...
Je dois pouvoir parfois faire des modifs sur une zone précise (B11:M34)
qui

est partiellement masquée en utilisation normale.
Pour pouvoir démasquer les lignes C11:C34, je suis obligé de déprotéger
ma


feuille et cela m'ennuie... Même si je déprotège la plage qui
m'interesse


en
cours de macro, je suis obligé de reproteger la feuille en fin de macro
car

je veux que le reste de la feuille reste toujours protégé. Hélas dans
cette

situation ma plage ("B11:M34") n'est que partiellement déprotégée... je
peux

modifier le contenu des cellules mais je n'arrive pas à fusionner les
cellules par exemple à cause de la protection générale de la feuille...

Bref je tourne en rond !
question simple : comment faire pour déprotéger complètement une zone
précise dans une feuille totalement protégée ?
j'espère ne pas avoir été trop confus.
Merci
Domi


Sub AfficherToutesLesLignes()
deprotegertout
[C11:C34].EntireRow.Hidden = False
Range("B11:M34").Select
Selection.Locked = False
Selection.FormulaHidden = False
'protegertout
End Sub


Sub deprotegertout()
Dim Sh As Worksheet
For Each Sh In ActiveWorkbook.Sheets
Sh.Unprotect password:="toto"
Next
End Sub










Avatar
garnote
Salut Domi,

À tout hasard, peut-être que :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("ZonePrécise")) Is Nothing Then
ActiveSheet.Unprotect
Else
ActiveSheet.Protect
End If
End Sub

Serge



"Domi" a écrit dans le message de news:
#
Tout à fait, mais hélas je ne peux pas faire les modifs par macros pour la
simple raison qu'elles peuvent être très variables...
J'ai fouillé un peu dans l'historique du groupe et il semble que quelqu'un
avait déjà été confronté à un pb similaire...et à priori ce serait
infaisable sous 97 et 2000...
En tout cas merci pour ton aide.
Domi

"michdenis" a écrit dans le message de news:
#
Bonjour Domi,

Si tu le fais par macro, tu pourras appliquer un format défini à une
plage


de cellules de la feuille. Non ?

Salutations!


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

Merci beaucoup,
Malheureusement si cela apporte un plus de ne pas avoir à déprotéger la
feuille (je note le code précieusement) cela ne resoud pas vraiment mon
problème...
A savoir : sur une feuille protégée. comment modifier le format,
fusionner


des cellules..etc dans une zone qui n'est pas protégée (dans protection
case

"verrouillée" décochée. Je peux modifier le contenu mais je voudrais
aussi


pouvoir modifier les formats (et cela sans avoir à déprotéger la feuille
totalement) ?

A+
Domi

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

Bonjour Domi


Dans le ThisWorkbook de ton classeur,

copie ceci en modifiant le nom de la feuille où se trouve ta plage de
cellules.


Tu pourras à la réouverture de ton classeur, effectuer toutes les
opérations désirées seulement par macro sans te soucier de

déprotéger ou de reprotéger ta feuille dans la procédure de ta macro.

'--------------------
Private Sub Workbook_Open()
With Worksheets("Feuil1")
.Protect "toto", True, True, True, True
End With

End Sub
'--------------------

Salutations!



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

Bonjour,

Je souhaite que toutes les feuilles d'un classeur soient protégées,
j'utilise donc la 2eme macro ci dessous...
Je dois pouvoir parfois faire des modifs sur une zone précise
(B11:M34)



qui
est partiellement masquée en utilisation normale.
Pour pouvoir démasquer les lignes C11:C34, je suis obligé de
déprotéger



ma
feuille et cela m'ennuie... Même si je déprotège la plage qui
m'interesse


en
cours de macro, je suis obligé de reproteger la feuille en fin de
macro



car
je veux que le reste de la feuille reste toujours protégé. Hélas dans
cette

situation ma plage ("B11:M34") n'est que partiellement déprotégée...
je



peux
modifier le contenu des cellules mais je n'arrive pas à fusionner les
cellules par exemple à cause de la protection générale de la
feuille...




Bref je tourne en rond !
question simple : comment faire pour déprotéger complètement une zone
précise dans une feuille totalement protégée ?
j'espère ne pas avoir été trop confus.
Merci
Domi


Sub AfficherToutesLesLignes()
deprotegertout
[C11:C34].EntireRow.Hidden = False
Range("B11:M34").Select
Selection.Locked = False
Selection.FormulaHidden = False
'protegertout
End Sub


Sub deprotegertout()
Dim Sh As Worksheet
For Each Sh In ActiveWorkbook.Sheets
Sh.Unprotect password:="toto"
Next
End Sub














Avatar
Domi
Waouw ! Ca marche !
Il faut que j'approfondisse mais au premier abord je crois que ça répond à
mon besoin
Merci beaucoup ;o)
Domi

"garnote" a écrit dans le message de news:
lHzQb.10119$
Salut Domi,

À tout hasard, peut-être que :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("ZonePrécise")) Is Nothing Then
ActiveSheet.Unprotect
Else
ActiveSheet.Protect
End If
End Sub

Serge



"Domi" a écrit dans le message de news:
#
Tout à fait, mais hélas je ne peux pas faire les modifs par macros pour
la


simple raison qu'elles peuvent être très variables...
J'ai fouillé un peu dans l'historique du groupe et il semble que
quelqu'un


avait déjà été confronté à un pb similaire...et à priori ce serait
infaisable sous 97 et 2000...
En tout cas merci pour ton aide.
Domi

"michdenis" a écrit dans le message de news:
#
Bonjour Domi,

Si tu le fais par macro, tu pourras appliquer un format défini à une
plage


de cellules de la feuille. Non ?

Salutations!


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

Merci beaucoup,
Malheureusement si cela apporte un plus de ne pas avoir à déprotéger
la



feuille (je note le code précieusement) cela ne resoud pas vraiment
mon



problème...
A savoir : sur une feuille protégée. comment modifier le format,
fusionner


des cellules..etc dans une zone qui n'est pas protégée (dans
protection



case
"verrouillée" décochée. Je peux modifier le contenu mais je voudrais
aussi


pouvoir modifier les formats (et cela sans avoir à déprotéger la
feuille



totalement) ?

A+
Domi

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

Bonjour Domi


Dans le ThisWorkbook de ton classeur,

copie ceci en modifiant le nom de la feuille où se trouve ta plage
de




cellules.

Tu pourras à la réouverture de ton classeur, effectuer toutes les
opérations désirées seulement par macro sans te soucier de

déprotéger ou de reprotéger ta feuille dans la procédure de ta
macro.





'--------------------
Private Sub Workbook_Open()
With Worksheets("Feuil1")
.Protect "toto", True, True, True, True
End With

End Sub
'--------------------

Salutations!



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

Bonjour,

Je souhaite que toutes les feuilles d'un classeur soient protégées,
j'utilise donc la 2eme macro ci dessous...
Je dois pouvoir parfois faire des modifs sur une zone précise
(B11:M34)



qui
est partiellement masquée en utilisation normale.
Pour pouvoir démasquer les lignes C11:C34, je suis obligé de
déprotéger



ma
feuille et cela m'ennuie... Même si je déprotège la plage qui
m'interesse


en
cours de macro, je suis obligé de reproteger la feuille en fin de
macro



car
je veux que le reste de la feuille reste toujours protégé. Hélas
dans




cette
situation ma plage ("B11:M34") n'est que partiellement déprotégée...
je



peux
modifier le contenu des cellules mais je n'arrive pas à fusionner
les




cellules par exemple à cause de la protection générale de la
feuille...




Bref je tourne en rond !
question simple : comment faire pour déprotéger complètement une
zone




précise dans une feuille totalement protégée ?
j'espère ne pas avoir été trop confus.
Merci
Domi


Sub AfficherToutesLesLignes()
deprotegertout
[C11:C34].EntireRow.Hidden = False
Range("B11:M34").Select
Selection.Locked = False
Selection.FormulaHidden = False
'protegertout
End Sub


Sub deprotegertout()
Dim Sh As Worksheet
For Each Sh In ActiveWorkbook.Sheets
Sh.Unprotect password:="toto"
Next
End Sub