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

Protection par macro

6 réponses
Avatar
Excel...lent
Bonjour à tous,

Dans une applic j'utilise 4 codes très court pour protéger ou déprotéger les
feuilles du classeur ou le classeur lui-même.
Voir fin de ce post les codes.

je souhaiterais savoir s'il est possible de modifier ces codes pour que *
PASSWORD:= * fasse référence à un nom du classeur au lieu d'être obligé de
mettre le mot de passe après comme dans les codes ?

Merci de votre aide

Ci-dessous les codes :

Sub DEPROT_CLASS()
' Lève la protection du classeur
ActiveWorkbook.Unprotect PASSWORD:="9707"
End Sub

Sub PROT_CLASS()
' Pose la protection du classeur
ActiveWorkbook.Protect PASSWORD:="9707"
End Sub

Sub DEPROT_PAGE()
' Lève la protection de le feuille active
ActiveSheet.Unprotect PASSWORD:="9707"
End Sub

Sub PROT_PAGE()
' Pose la protection de le feuille active
ActiveSheet.Protect PASSWORD:="9707"
End Sub

Cordialement.

Excel...lent

6 réponses

Avatar
Daniel
Bonjour.
Essaie :
ActiveWorkbook.Protect Password:¬tiveWorkbook.Name
Cordialement.
Daniel
"Excel...lent" a écrit dans le message de news:
%
Bonjour à tous,

Dans une applic j'utilise 4 codes très court pour protéger ou déprotéger
les
feuilles du classeur ou le classeur lui-même.
Voir fin de ce post les codes.

je souhaiterais savoir s'il est possible de modifier ces codes pour que *
PASSWORD:= * fasse référence à un nom du classeur au lieu d'être obligé de
mettre le mot de passe après comme dans les codes ?

Merci de votre aide

Ci-dessous les codes :

Sub DEPROT_CLASS()
' Lève la protection du classeur
ActiveWorkbook.Unprotect PASSWORD:="9707"
End Sub

Sub PROT_CLASS()
' Pose la protection du classeur
ActiveWorkbook.Protect PASSWORD:="9707"
End Sub

Sub DEPROT_PAGE()
' Lève la protection de le feuille active
ActiveSheet.Unprotect PASSWORD:="9707"
End Sub

Sub PROT_PAGE()
' Pose la protection de le feuille active
ActiveSheet.Protect PASSWORD:="9707"
End Sub

Cordialement.

Excel...lent




Avatar
Manu
Essaye cela:

pour le classeur
Sub DEPROT_CLASS()
' Lève la protection du classeur
ActiveWorkbook.Unprotect PASSWORD:¬tiveworkbook.name
End Sub

Pour la feuille
Sub DEPROT_PAGE()
' Lève la protection de le feuille active
ActiveSheet.Unprotect PASSWORD:¬tivesheet.name
End Sub

Manu



Bonjour à tous,

Dans une applic j'utilise 4 codes très court pour protéger ou déprotéger les
feuilles du classeur ou le classeur lui-même.
Voir fin de ce post les codes.

je souhaiterais savoir s'il est possible de modifier ces codes pour que *
PASSWORD:= * fasse référence à un nom du classeur au lieu d'être obligé de
mettre le mot de passe après comme dans les codes ?

Merci de votre aide

Ci-dessous les codes :

Sub DEPROT_CLASS()
' Lève la protection du classeur
ActiveWorkbook.Unprotect PASSWORD:="9707"
End Sub

Sub PROT_CLASS()
' Pose la protection du classeur
ActiveWorkbook.Protect PASSWORD:="9707"
End Sub

Sub DEPROT_PAGE()
' Lève la protection de le feuille active
ActiveSheet.Unprotect PASSWORD:="9707"
End Sub

Sub PROT_PAGE()
' Pose la protection de le feuille active
ActiveSheet.Protect PASSWORD:="9707"
End Sub

Cordialement.

Excel...lent





Avatar
LSteph
Bonjour "Excel...lent",

Le problème AMHA avec un truc ou "toto" représentant A1 de la feuille
codename Feuil1b de propriété xlveryhidden
exemple

Sub test()
Feuil1b.Protect Range("toto")
End Sub

....même si tu mets ce nom dans une feuille très cachée xlveryhidden il y a
plusieurs endroits où on risque le voir Définir Atteindre (F5)...
Même si tu as inhibé Définir =toto renverra 9707
Dans ce cas peut être mieux que tu définisse une constante et l'appelle avec
protect reviendra au même que si tu écris le mdp dans le code,
sauf que s'il doit paraître en plusieurs endroits modifier la constante sera
plus aisé.
Donc évidemment faut protèger le code.

Si là n'est point ton souci (car bien relative cette protection) et là te
connaissant un peu maintenant je ne t'apprends rien
tu peux pour t'abstenir d'avoir à déprotèger constament et reprotèger
mettre dans protect userinterfaceonly à true .

lSteph

"Excel...lent" a écrit dans le message de news:
%
Bonjour à tous,

Dans une applic j'utilise 4 codes très court pour protéger ou déprotéger
les
feuilles du classeur ou le classeur lui-même.
Voir fin de ce post les codes.

je souhaiterais savoir s'il est possible de modifier ces codes pour que *
PASSWORD:= * fasse référence à un nom du classeur au lieu d'être obligé de
mettre le mot de passe après comme dans les codes ?

Merci de votre aide

Ci-dessous les codes :

Sub DEPROT_CLASS()
' Lève la protection du classeur
ActiveWorkbook.Unprotect PASSWORD:="9707"
End Sub

Sub PROT_CLASS()
' Pose la protection du classeur
ActiveWorkbook.Protect PASSWORD:="9707"
End Sub

Sub DEPROT_PAGE()
' Lève la protection de le feuille active
ActiveSheet.Unprotect PASSWORD:="9707"
End Sub

Sub PROT_PAGE()
' Pose la protection de le feuille active
ActiveSheet.Protect PASSWORD:="9707"
End Sub

Cordialement.

Excel...lent




Avatar
Excel...lent
Salut à vous deux,

Heu, je crois que je me suis encore mal fait comprendre, c'est chronique
chez moi.-)))))
Quant je parle de " nom qui fasse référence à un nom du classeur ", je ne
pensais pas au nom de la feuille ou au nom du classeur.

Je pensais à un [nom] faisant référence à une cellule ou une formule. Vous
savez celui qu'on crée avec INSERTION / NOM.

Désolé de ne pas avoir été assez clair.

Merci de votre aide.

Cordialement.

Excel...lent
Avatar
Excel...lent
Salut LSteph,

Je ne sais pas si tu verras ce post car j'ai un peu tardé à revenir sur ce
fil. Je me suis un poil trop dispersé en ce moment et compte tenu du débit
des fils sur le forum j'avais un peu "zappé" celui ci.
En tout cas merci pour ta réponse.

Désolé pour ce loupé.

A bientôt.

Cordialement.

Marc
Avatar
LSteph
Hello Marc,

A la lecture de tes fils suivants, m'en suis douté.
Aucun souci. Si cela ta apporté au moins un avis tant mieux.

a+.

Stéphane


"Excel...lent" a écrit dans le message de news:

Salut LSteph,

Je ne sais pas si tu verras ce post car j'ai un peu tardé à revenir sur ce
fil. Je me suis un poil trop dispersé en ce moment et compte tenu du débit
des fils sur le forum j'avais un peu "zappé" celui ci.
En tout cas merci pour ta réponse.

Désolé pour ce loupé.

A bientôt.

Cordialement.

Marc