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

VBA - Feuille protégée

3 réponses
Avatar
Patrick
Bonjour,

Est-il possible de savoir, en VBA, si une feuille est protégée ? Si oui,
est-il possible de savoir s'il y a un mot de passe ?
Mon objectif n'est pas de connaître le mot de passe. Il est de savoir si la
feuille a été protégée avec un mot de passe. Dans ce cas, le mot de passe est
demandé à l'utilisateur et il est utilisé pour déprotéger la feuille puis, à
la fin de la macro, pour reprotégée la feuille.

Merci.

--
Patrick

3 réponses

Avatar
isabelle
bonjour Patrick,

Sub Macro1()
If ActiveSheet.ProtectContents = True Then
On Error Resume Next
dep:
x = InputBox("Entrer le MDP," & Chr(10) & Chr(10) & _
"Laisser le champ vide s'il n'y en a pas." & Chr(10) & Chr(10) & _
"Ce message réapparait s'il le MDP n'est pas valide")
ActiveSheet.Unprotect Password:=x
If Err.Number <> 0 Then Err.Clear: GoTo dep
MsgBox "action de la macro"
ActiveSheet.Protect Password:=x, DrawingObjects:=True, Contents:=True,
Scenarios:=True
End If
End Sub

isabelle

Patrick a écrit :
Bonjour,

Est-il possible de savoir, en VBA, si une feuille est protégée ? Si oui,
est-il possible de savoir s'il y a un mot de passe ?
Mon objectif n'est pas de connaître le mot de passe. Il est de savoir si la
feuille a été protégée avec un mot de passe. Dans ce cas, le mot de passe est
demandé à l'utilisateur et il est utilisé pour déprotéger la feuille puis, à
la fin de la macro, pour reprotégée la feuille.

Merci.




Avatar
LSteph
..d'ici je ne vois plus ma réponse , je remets

Dim myStr as string
'...au début
Activesheet.unprotect
'le mdp sera demandé si besoin
'...la suite
'...en fin
myStr=inputbox("Mot de passe: ")
'...l'utilisateur peut ne saisir rien ou son mot de passe
Activesheet.protect myStr
'...la reprotection sera donc sans ou avec le mdp

'lSteph

On 30 juin, 22:05, Patrick wrote:
Bonjour,

Est-il possible de savoir, en VBA, si une feuille est protégée ? Si o ui,
est-il possible de savoir s'il y a un mot de passe ?
Mon objectif n'est pas de connaître le mot de passe. Il est de savoir s i la
feuille a été protégée avec un mot de passe. Dans ce cas, le mot de passe est
demandé à l'utilisateur et il est utilisé pour déprotéger la fe uille puis, à
la fin de la macro, pour reprotégée la feuille.

Merci.

--
Patrick


Avatar
LSteph
dui 1er juil à 8h31

Bonjour,

Très simplement dans ta macro au début:

dim myStr as string

ActiveSheet.Unprotect


'Si la feuille est sans mot de passe elle sera déprotégée
'sinon le mot de passe sera demandé.

'puis ...à la fin

myStr=inputbox("Mot de passe")
ActiveSheet.protect mystr

'Le mot de passe souhaité ou non sera demandé à l'utilisateur et utilisé.


Ainsi ta macro peut agir en laissant l'utilisateur libre de son mot de
passe ou aucun mot de passe.

--
lSteph


Patrick a écrit :
> Bonjour,
>
> Est-il possible de savoir, en VBA, si une feuille est protégée ? Si
oui, est-il possible de savoir s'il y a un mot de passe ?
> Mon objectif n'est pas de connaître le mot de passe. Il est de savoir
si la feuille a été protégée avec un mot de passe. Dans ce cas, le mot
de passe est demandé à l'utilisateur et il est utilisé pour déprotéger
la feuille puis, à la fin de la macro, pour reprotégée la feuille.
>
> Merci.
>


Patrick a écrit :
Bonjour,

Est-il possible de savoir, en VBA, si une feuille est protégée ? Si oui,
est-il possible de savoir s'il y a un mot de passe ?
Mon objectif n'est pas de connaître le mot de passe. Il est de savoir si la
feuille a été protégée avec un mot de passe. Dans ce cas, le mot de passe est
demandé à l'utilisateur et il est utilisé pour déprotéger la feuille puis, à
la fin de la macro, pour reprotégée la feuille.

Merci.