Comment intercepter le "Annuler" sur la fenetre de Protection
4 réponses
Jed
Bonjour à tous,
D'abord Une bonnée année 2008 à tous ! (je suis encore dans les temps ;-)
J'aimerai savoir comment je peux coder l'evenement click sur la fenetre de
saisie de mot de passe lors d'une protection de document Excel 2000 ?
Lorsque je fais un :
protected = ActiveSheet.ProtectContents
If (protected) Then
ActiveSheet.Unprotect
End If
J'ai un ecran me permettant de saisir le mot de passe mais j'aimerai coder
quelque chose si l'utilisateur clique sur "Annuler". Comment puis
intercepter cet evenement?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FFO
Salut Jed Aprés avoir protégé ta feuille avec le mot de passe "Toto" Je te propose ce code :
If ActiveSheet.ProtectContents = True Then If InputBox("Saisissez le mot de passe", "Mot de Passe") = "Toto" Then ActiveSheet.Unprotect ("Toto") Else Ton code ..... End If End If
Le mot de passe "Toto" à adapter
Celà devrait convenir Dis moi !!!
Bonjour à tous,
D'abord Une bonnée année 2008 à tous ! (je suis encore dans les temps ;-)
J'aimerai savoir comment je peux coder l'evenement click sur la fenetre de saisie de mot de passe lors d'une protection de document Excel 2000 ?
Lorsque je fais un :
protected = ActiveSheet.ProtectContents If (protected) Then ActiveSheet.Unprotect End If
J'ai un ecran me permettant de saisir le mot de passe mais j'aimerai coder quelque chose si l'utilisateur clique sur "Annuler". Comment puis intercepter cet evenement?
Merci de votre aide.
Cdlt Jed
Salut Jed
Aprés avoir protégé ta feuille avec le mot de passe "Toto"
Je te propose ce code :
If ActiveSheet.ProtectContents = True Then
If InputBox("Saisissez le mot de passe", "Mot de Passe") = "Toto" Then
ActiveSheet.Unprotect ("Toto")
Else
Ton code .....
End If
End If
Le mot de passe "Toto" à adapter
Celà devrait convenir
Dis moi !!!
Bonjour à tous,
D'abord Une bonnée année 2008 à tous ! (je suis encore dans les temps ;-)
J'aimerai savoir comment je peux coder l'evenement click sur la fenetre de
saisie de mot de passe lors d'une protection de document Excel 2000 ?
Lorsque je fais un :
protected = ActiveSheet.ProtectContents
If (protected) Then
ActiveSheet.Unprotect
End If
J'ai un ecran me permettant de saisir le mot de passe mais j'aimerai coder
quelque chose si l'utilisateur clique sur "Annuler". Comment puis
intercepter cet evenement?
Salut Jed Aprés avoir protégé ta feuille avec le mot de passe "Toto" Je te propose ce code :
If ActiveSheet.ProtectContents = True Then If InputBox("Saisissez le mot de passe", "Mot de Passe") = "Toto" Then ActiveSheet.Unprotect ("Toto") Else Ton code ..... End If End If
Le mot de passe "Toto" à adapter
Celà devrait convenir Dis moi !!!
Bonjour à tous,
D'abord Une bonnée année 2008 à tous ! (je suis encore dans les temps ;-)
J'aimerai savoir comment je peux coder l'evenement click sur la fenetre de saisie de mot de passe lors d'une protection de document Excel 2000 ?
Lorsque je fais un :
protected = ActiveSheet.ProtectContents If (protected) Then ActiveSheet.Unprotect End If
J'ai un ecran me permettant de saisir le mot de passe mais j'aimerai coder quelque chose si l'utilisateur clique sur "Annuler". Comment puis intercepter cet evenement?
Merci de votre aide.
Cdlt Jed
Jed
Bonjour FFA,
Merci d'avoir repondu à ma question. J'ai regardé ta solution mais cela me fait faire bcp de modif. Ce fichier comporte plusieurs macro compliqués. et en plus de :
protected = ActiveSheet.ProtectContents If (protected) Then ActiveSheet.Unprotect End If
Je voulais faire ca aussi :
For Each ctl In CommandBars("Tools").Controls Name = ctl.Caption
If Name = "Prot&ection" Then ctl.Enabled = True ' False dans si mauvais mot de passe End If
Next ctl
Mais je dois faire la deuxieme partie que si l'utilisateur met le bon mot de passe!! S'il annule je ne dois pas deproter l'option "Protection"
Merci pour ta reponse
Salut Jed Aprés avoir protégé ta feuille avec le mot de passe "Toto" Je te propose ce code :
If ActiveSheet.ProtectContents = True Then If InputBox("Saisissez le mot de passe", "Mot de Passe") = "Toto" Then ActiveSheet.Unprotect ("Toto") Else Ton code ..... End If End If
Le mot de passe "Toto" à adapter
Celà devrait convenir Dis moi !!!
Bonjour à tous,
D'abord Une bonnée année 2008 à tous ! (je suis encore dans les temps ;-)
J'aimerai savoir comment je peux coder l'evenement click sur la fenetre de saisie de mot de passe lors d'une protection de document Excel 2000 ?
Lorsque je fais un :
protected = ActiveSheet.ProtectContents If (protected) Then ActiveSheet.Unprotect End If
J'ai un ecran me permettant de saisir le mot de passe mais j'aimerai coder quelque chose si l'utilisateur clique sur "Annuler". Comment puis intercepter cet evenement?
Merci de votre aide.
Cdlt Jed
Bonjour FFA,
Merci d'avoir repondu à ma question.
J'ai regardé ta solution mais cela me fait faire bcp de modif. Ce fichier
comporte plusieurs macro compliqués.
et en plus de :
protected = ActiveSheet.ProtectContents
If (protected) Then
ActiveSheet.Unprotect
End If
Je voulais faire ca aussi :
For Each ctl In CommandBars("Tools").Controls
Name = ctl.Caption
If Name = "Prot&ection" Then
ctl.Enabled = True ' False dans si mauvais mot de passe
End If
Next ctl
Mais je dois faire la deuxieme partie que si l'utilisateur met le bon mot de
passe!!
S'il annule je ne dois pas deproter l'option "Protection"
Merci pour ta reponse
Salut Jed
Aprés avoir protégé ta feuille avec le mot de passe "Toto"
Je te propose ce code :
If ActiveSheet.ProtectContents = True Then
If InputBox("Saisissez le mot de passe", "Mot de Passe") = "Toto" Then
ActiveSheet.Unprotect ("Toto")
Else
Ton code .....
End If
End If
Le mot de passe "Toto" à adapter
Celà devrait convenir
Dis moi !!!
Bonjour à tous,
D'abord Une bonnée année 2008 à tous ! (je suis encore dans les temps ;-)
J'aimerai savoir comment je peux coder l'evenement click sur la fenetre de
saisie de mot de passe lors d'une protection de document Excel 2000 ?
Lorsque je fais un :
protected = ActiveSheet.ProtectContents
If (protected) Then
ActiveSheet.Unprotect
End If
J'ai un ecran me permettant de saisir le mot de passe mais j'aimerai coder
quelque chose si l'utilisateur clique sur "Annuler". Comment puis
intercepter cet evenement?
Merci d'avoir repondu à ma question. J'ai regardé ta solution mais cela me fait faire bcp de modif. Ce fichier comporte plusieurs macro compliqués. et en plus de :
protected = ActiveSheet.ProtectContents If (protected) Then ActiveSheet.Unprotect End If
Je voulais faire ca aussi :
For Each ctl In CommandBars("Tools").Controls Name = ctl.Caption
If Name = "Prot&ection" Then ctl.Enabled = True ' False dans si mauvais mot de passe End If
Next ctl
Mais je dois faire la deuxieme partie que si l'utilisateur met le bon mot de passe!! S'il annule je ne dois pas deproter l'option "Protection"
Merci pour ta reponse
Salut Jed Aprés avoir protégé ta feuille avec le mot de passe "Toto" Je te propose ce code :
If ActiveSheet.ProtectContents = True Then If InputBox("Saisissez le mot de passe", "Mot de Passe") = "Toto" Then ActiveSheet.Unprotect ("Toto") Else Ton code ..... End If End If
Le mot de passe "Toto" à adapter
Celà devrait convenir Dis moi !!!
Bonjour à tous,
D'abord Une bonnée année 2008 à tous ! (je suis encore dans les temps ;-)
J'aimerai savoir comment je peux coder l'evenement click sur la fenetre de saisie de mot de passe lors d'une protection de document Excel 2000 ?
Lorsque je fais un :
protected = ActiveSheet.ProtectContents If (protected) Then ActiveSheet.Unprotect End If
J'ai un ecran me permettant de saisir le mot de passe mais j'aimerai coder quelque chose si l'utilisateur clique sur "Annuler". Comment puis intercepter cet evenement?
Merci de votre aide.
Cdlt Jed
FFO
Rebonjours Jed
A ma connaisance on ne peux pas agir sur le comportement de la boîte de dialogue généré par Excel lors de la saisie du mot de passe
Seule issue générer sa propre boîte de dialogue qui en fonction du résultat enclenchera une suite d'instruction
Tu peux peut être associer une variable qui portera une donnée différente en fonction de la saisie comme ceci : Déprotéger = "Non" If ActiveSheet.ProtectContents = True Then If InputBox("Saisissez le mot de passe", "Mot de Passe") = "Toto" Then ActiveSheet.Unprotect ("Toto") Déprotéger = "Oui" End If End If
Puis au grés des besoins tes lignes d'instructions peuvent être conditionnées par l'état de cette variable ainsi :
If Déprotéger = "Oui" Then Code1.... Else Code2.... End If
Une autre solution consiste à vérifier l'état de protection de la feuille aprés la saisie du mot de passe Si le mot de passe saisi est bon la feuille est déprotégée
ActiveSheet.ProtectContents = False
Si le mot de passe est erroné ou si rien n'est saisi voir annulé la feuille est toujour protégé :
ActiveSheet.ProtectContents = True
Tu peux donc te servir de cette indication pour dérouler la suite de ton code ainsi :
protected = ActiveSheet.ProtectContents If (protected) Then ActiveSheet.Unprotect End If If ActiveSheet.ProtectContents = False Then Code1.... Else Code2....
Avec ces propositions je pense que tu devrais trouver ton bonheur
Dis moi !!!!
Bonjour FFA,
Merci d'avoir repondu à ma question. J'ai regardé ta solution mais cela me fait faire bcp de modif. Ce fichier comporte plusieurs macro compliqués. et en plus de :
protected = ActiveSheet.ProtectContents If (protected) Then ActiveSheet.Unprotect End If
Je voulais faire ca aussi :
For Each ctl In CommandBars("Tools").Controls Name = ctl.Caption
If Name = "Prot&ection" Then ctl.Enabled = True ' False dans si mauvais mot de passe End If
Next ctl
Mais je dois faire la deuxieme partie que si l'utilisateur met le bon mot de passe!! S'il annule je ne dois pas deproter l'option "Protection"
Merci pour ta reponse
Salut Jed Aprés avoir protégé ta feuille avec le mot de passe "Toto" Je te propose ce code :
If ActiveSheet.ProtectContents = True Then If InputBox("Saisissez le mot de passe", "Mot de Passe") = "Toto" Then ActiveSheet.Unprotect ("Toto") Else Ton code ..... End If End If
Le mot de passe "Toto" à adapter
Celà devrait convenir Dis moi !!!
Bonjour à tous,
D'abord Une bonnée année 2008 à tous ! (je suis encore dans les temps ;-)
J'aimerai savoir comment je peux coder l'evenement click sur la fenetre de saisie de mot de passe lors d'une protection de document Excel 2000 ?
Lorsque je fais un :
protected = ActiveSheet.ProtectContents If (protected) Then ActiveSheet.Unprotect End If
J'ai un ecran me permettant de saisir le mot de passe mais j'aimerai coder quelque chose si l'utilisateur clique sur "Annuler". Comment puis intercepter cet evenement?
Merci de votre aide.
Cdlt Jed
Rebonjours Jed
A ma connaisance on ne peux pas agir sur le comportement de la boîte de
dialogue généré par Excel lors de la saisie du mot de passe
Seule issue générer sa propre boîte de dialogue qui en fonction du résultat
enclenchera une suite d'instruction
Tu peux peut être associer une variable qui portera une donnée différente en
fonction de la saisie comme ceci :
Déprotéger = "Non"
If ActiveSheet.ProtectContents = True Then
If InputBox("Saisissez le mot de passe", "Mot de Passe") = "Toto" Then
ActiveSheet.Unprotect ("Toto")
Déprotéger = "Oui"
End If
End If
Puis au grés des besoins tes lignes d'instructions peuvent être
conditionnées par l'état de cette variable ainsi :
If Déprotéger = "Oui" Then
Code1....
Else
Code2....
End If
Une autre solution consiste à vérifier l'état de protection de la feuille
aprés la saisie du mot de passe
Si le mot de passe saisi est bon la feuille est déprotégée
ActiveSheet.ProtectContents = False
Si le mot de passe est erroné ou si rien n'est saisi voir annulé la feuille
est toujour protégé :
ActiveSheet.ProtectContents = True
Tu peux donc te servir de cette indication pour dérouler la suite de ton
code ainsi :
protected = ActiveSheet.ProtectContents
If (protected) Then
ActiveSheet.Unprotect
End If
If ActiveSheet.ProtectContents = False Then
Code1....
Else
Code2....
Avec ces propositions je pense que tu devrais trouver ton bonheur
Dis moi !!!!
Bonjour FFA,
Merci d'avoir repondu à ma question.
J'ai regardé ta solution mais cela me fait faire bcp de modif. Ce fichier
comporte plusieurs macro compliqués.
et en plus de :
protected = ActiveSheet.ProtectContents
If (protected) Then
ActiveSheet.Unprotect
End If
Je voulais faire ca aussi :
For Each ctl In CommandBars("Tools").Controls
Name = ctl.Caption
If Name = "Prot&ection" Then
ctl.Enabled = True ' False dans si mauvais mot de passe
End If
Next ctl
Mais je dois faire la deuxieme partie que si l'utilisateur met le bon mot de
passe!!
S'il annule je ne dois pas deproter l'option "Protection"
Merci pour ta reponse
Salut Jed
Aprés avoir protégé ta feuille avec le mot de passe "Toto"
Je te propose ce code :
If ActiveSheet.ProtectContents = True Then
If InputBox("Saisissez le mot de passe", "Mot de Passe") = "Toto" Then
ActiveSheet.Unprotect ("Toto")
Else
Ton code .....
End If
End If
Le mot de passe "Toto" à adapter
Celà devrait convenir
Dis moi !!!
Bonjour à tous,
D'abord Une bonnée année 2008 à tous ! (je suis encore dans les temps ;-)
J'aimerai savoir comment je peux coder l'evenement click sur la fenetre de
saisie de mot de passe lors d'une protection de document Excel 2000 ?
Lorsque je fais un :
protected = ActiveSheet.ProtectContents
If (protected) Then
ActiveSheet.Unprotect
End If
J'ai un ecran me permettant de saisir le mot de passe mais j'aimerai coder
quelque chose si l'utilisateur clique sur "Annuler". Comment puis
intercepter cet evenement?
A ma connaisance on ne peux pas agir sur le comportement de la boîte de dialogue généré par Excel lors de la saisie du mot de passe
Seule issue générer sa propre boîte de dialogue qui en fonction du résultat enclenchera une suite d'instruction
Tu peux peut être associer une variable qui portera une donnée différente en fonction de la saisie comme ceci : Déprotéger = "Non" If ActiveSheet.ProtectContents = True Then If InputBox("Saisissez le mot de passe", "Mot de Passe") = "Toto" Then ActiveSheet.Unprotect ("Toto") Déprotéger = "Oui" End If End If
Puis au grés des besoins tes lignes d'instructions peuvent être conditionnées par l'état de cette variable ainsi :
If Déprotéger = "Oui" Then Code1.... Else Code2.... End If
Une autre solution consiste à vérifier l'état de protection de la feuille aprés la saisie du mot de passe Si le mot de passe saisi est bon la feuille est déprotégée
ActiveSheet.ProtectContents = False
Si le mot de passe est erroné ou si rien n'est saisi voir annulé la feuille est toujour protégé :
ActiveSheet.ProtectContents = True
Tu peux donc te servir de cette indication pour dérouler la suite de ton code ainsi :
protected = ActiveSheet.ProtectContents If (protected) Then ActiveSheet.Unprotect End If If ActiveSheet.ProtectContents = False Then Code1.... Else Code2....
Avec ces propositions je pense que tu devrais trouver ton bonheur
Dis moi !!!!
Bonjour FFA,
Merci d'avoir repondu à ma question. J'ai regardé ta solution mais cela me fait faire bcp de modif. Ce fichier comporte plusieurs macro compliqués. et en plus de :
protected = ActiveSheet.ProtectContents If (protected) Then ActiveSheet.Unprotect End If
Je voulais faire ca aussi :
For Each ctl In CommandBars("Tools").Controls Name = ctl.Caption
If Name = "Prot&ection" Then ctl.Enabled = True ' False dans si mauvais mot de passe End If
Next ctl
Mais je dois faire la deuxieme partie que si l'utilisateur met le bon mot de passe!! S'il annule je ne dois pas deproter l'option "Protection"
Merci pour ta reponse
Salut Jed Aprés avoir protégé ta feuille avec le mot de passe "Toto" Je te propose ce code :
If ActiveSheet.ProtectContents = True Then If InputBox("Saisissez le mot de passe", "Mot de Passe") = "Toto" Then ActiveSheet.Unprotect ("Toto") Else Ton code ..... End If End If
Le mot de passe "Toto" à adapter
Celà devrait convenir Dis moi !!!
Bonjour à tous,
D'abord Une bonnée année 2008 à tous ! (je suis encore dans les temps ;-)
J'aimerai savoir comment je peux coder l'evenement click sur la fenetre de saisie de mot de passe lors d'une protection de document Excel 2000 ?
Lorsque je fais un :
protected = ActiveSheet.ProtectContents If (protected) Then ActiveSheet.Unprotect End If
J'ai un ecran me permettant de saisir le mot de passe mais j'aimerai coder quelque chose si l'utilisateur clique sur "Annuler". Comment puis intercepter cet evenement?
Merci de votre aide.
Cdlt Jed
Jed
YESSSS!!!! Merci FFO
Ta deuxième solution de test si feuille protegé me va bien. J'aurais du y penser. On cherche toujours compliqué. Merci encore... cette solutionme va bien.
Cdlt Jed
Rebonjours Jed
A ma connaisance on ne peux pas agir sur le comportement de la boîte de dialogue généré par Excel lors de la saisie du mot de passe
Seule issue générer sa propre boîte de dialogue qui en fonction du résultat enclenchera une suite d'instruction
Tu peux peut être associer une variable qui portera une donnée différente en fonction de la saisie comme ceci : Déprotéger = "Non" If ActiveSheet.ProtectContents = True Then If InputBox("Saisissez le mot de passe", "Mot de Passe") = "Toto" Then ActiveSheet.Unprotect ("Toto") Déprotéger = "Oui" End If End If
Puis au grés des besoins tes lignes d'instructions peuvent être conditionnées par l'état de cette variable ainsi :
If Déprotéger = "Oui" Then Code1.... Else Code2.... End If
Une autre solution consiste à vérifier l'état de protection de la feuille aprés la saisie du mot de passe Si le mot de passe saisi est bon la feuille est déprotégée
ActiveSheet.ProtectContents = False
Si le mot de passe est erroné ou si rien n'est saisi voir annulé la feuille est toujour protégé :
ActiveSheet.ProtectContents = True
Tu peux donc te servir de cette indication pour dérouler la suite de ton code ainsi :
protected = ActiveSheet.ProtectContents If (protected) Then ActiveSheet.Unprotect End If If ActiveSheet.ProtectContents = False Then Code1.... Else Code2....
Avec ces propositions je pense que tu devrais trouver ton bonheur
Dis moi !!!!
Bonjour FFA,
Merci d'avoir repondu à ma question. J'ai regardé ta solution mais cela me fait faire bcp de modif. Ce fichier comporte plusieurs macro compliqués. et en plus de :
protected = ActiveSheet.ProtectContents If (protected) Then ActiveSheet.Unprotect End If
Je voulais faire ca aussi :
For Each ctl In CommandBars("Tools").Controls Name = ctl.Caption
If Name = "Prot&ection" Then ctl.Enabled = True ' False dans si mauvais mot de passe End If
Next ctl
Mais je dois faire la deuxieme partie que si l'utilisateur met le bon mot de passe!! S'il annule je ne dois pas deproter l'option "Protection"
Merci pour ta reponse
Salut Jed Aprés avoir protégé ta feuille avec le mot de passe "Toto" Je te propose ce code :
If ActiveSheet.ProtectContents = True Then If InputBox("Saisissez le mot de passe", "Mot de Passe") = "Toto" Then ActiveSheet.Unprotect ("Toto") Else Ton code ..... End If End If
Le mot de passe "Toto" à adapter
Celà devrait convenir Dis moi !!!
Bonjour à tous,
D'abord Une bonnée année 2008 à tous ! (je suis encore dans les temps ;-)
J'aimerai savoir comment je peux coder l'evenement click sur la fenetre de saisie de mot de passe lors d'une protection de document Excel 2000 ?
Lorsque je fais un :
protected = ActiveSheet.ProtectContents If (protected) Then ActiveSheet.Unprotect End If
J'ai un ecran me permettant de saisir le mot de passe mais j'aimerai coder quelque chose si l'utilisateur clique sur "Annuler". Comment puis intercepter cet evenement?
Merci de votre aide.
Cdlt Jed
YESSSS!!!! Merci FFO
Ta deuxième solution de test si feuille protegé me va bien.
J'aurais du y penser. On cherche toujours compliqué.
Merci encore... cette solutionme va bien.
Cdlt
Jed
Rebonjours Jed
A ma connaisance on ne peux pas agir sur le comportement de la boîte de
dialogue généré par Excel lors de la saisie du mot de passe
Seule issue générer sa propre boîte de dialogue qui en fonction du résultat
enclenchera une suite d'instruction
Tu peux peut être associer une variable qui portera une donnée différente en
fonction de la saisie comme ceci :
Déprotéger = "Non"
If ActiveSheet.ProtectContents = True Then
If InputBox("Saisissez le mot de passe", "Mot de Passe") = "Toto" Then
ActiveSheet.Unprotect ("Toto")
Déprotéger = "Oui"
End If
End If
Puis au grés des besoins tes lignes d'instructions peuvent être
conditionnées par l'état de cette variable ainsi :
If Déprotéger = "Oui" Then
Code1....
Else
Code2....
End If
Une autre solution consiste à vérifier l'état de protection de la feuille
aprés la saisie du mot de passe
Si le mot de passe saisi est bon la feuille est déprotégée
ActiveSheet.ProtectContents = False
Si le mot de passe est erroné ou si rien n'est saisi voir annulé la feuille
est toujour protégé :
ActiveSheet.ProtectContents = True
Tu peux donc te servir de cette indication pour dérouler la suite de ton
code ainsi :
protected = ActiveSheet.ProtectContents
If (protected) Then
ActiveSheet.Unprotect
End If
If ActiveSheet.ProtectContents = False Then
Code1....
Else
Code2....
Avec ces propositions je pense que tu devrais trouver ton bonheur
Dis moi !!!!
Bonjour FFA,
Merci d'avoir repondu à ma question.
J'ai regardé ta solution mais cela me fait faire bcp de modif. Ce fichier
comporte plusieurs macro compliqués.
et en plus de :
protected = ActiveSheet.ProtectContents
If (protected) Then
ActiveSheet.Unprotect
End If
Je voulais faire ca aussi :
For Each ctl In CommandBars("Tools").Controls
Name = ctl.Caption
If Name = "Prot&ection" Then
ctl.Enabled = True ' False dans si mauvais mot de passe
End If
Next ctl
Mais je dois faire la deuxieme partie que si l'utilisateur met le bon mot de
passe!!
S'il annule je ne dois pas deproter l'option "Protection"
Merci pour ta reponse
Salut Jed
Aprés avoir protégé ta feuille avec le mot de passe "Toto"
Je te propose ce code :
If ActiveSheet.ProtectContents = True Then
If InputBox("Saisissez le mot de passe", "Mot de Passe") = "Toto" Then
ActiveSheet.Unprotect ("Toto")
Else
Ton code .....
End If
End If
Le mot de passe "Toto" à adapter
Celà devrait convenir
Dis moi !!!
Bonjour à tous,
D'abord Une bonnée année 2008 à tous ! (je suis encore dans les temps ;-)
J'aimerai savoir comment je peux coder l'evenement click sur la fenetre de
saisie de mot de passe lors d'une protection de document Excel 2000 ?
Lorsque je fais un :
protected = ActiveSheet.ProtectContents
If (protected) Then
ActiveSheet.Unprotect
End If
J'ai un ecran me permettant de saisir le mot de passe mais j'aimerai coder
quelque chose si l'utilisateur clique sur "Annuler". Comment puis
intercepter cet evenement?
Ta deuxième solution de test si feuille protegé me va bien. J'aurais du y penser. On cherche toujours compliqué. Merci encore... cette solutionme va bien.
Cdlt Jed
Rebonjours Jed
A ma connaisance on ne peux pas agir sur le comportement de la boîte de dialogue généré par Excel lors de la saisie du mot de passe
Seule issue générer sa propre boîte de dialogue qui en fonction du résultat enclenchera une suite d'instruction
Tu peux peut être associer une variable qui portera une donnée différente en fonction de la saisie comme ceci : Déprotéger = "Non" If ActiveSheet.ProtectContents = True Then If InputBox("Saisissez le mot de passe", "Mot de Passe") = "Toto" Then ActiveSheet.Unprotect ("Toto") Déprotéger = "Oui" End If End If
Puis au grés des besoins tes lignes d'instructions peuvent être conditionnées par l'état de cette variable ainsi :
If Déprotéger = "Oui" Then Code1.... Else Code2.... End If
Une autre solution consiste à vérifier l'état de protection de la feuille aprés la saisie du mot de passe Si le mot de passe saisi est bon la feuille est déprotégée
ActiveSheet.ProtectContents = False
Si le mot de passe est erroné ou si rien n'est saisi voir annulé la feuille est toujour protégé :
ActiveSheet.ProtectContents = True
Tu peux donc te servir de cette indication pour dérouler la suite de ton code ainsi :
protected = ActiveSheet.ProtectContents If (protected) Then ActiveSheet.Unprotect End If If ActiveSheet.ProtectContents = False Then Code1.... Else Code2....
Avec ces propositions je pense que tu devrais trouver ton bonheur
Dis moi !!!!
Bonjour FFA,
Merci d'avoir repondu à ma question. J'ai regardé ta solution mais cela me fait faire bcp de modif. Ce fichier comporte plusieurs macro compliqués. et en plus de :
protected = ActiveSheet.ProtectContents If (protected) Then ActiveSheet.Unprotect End If
Je voulais faire ca aussi :
For Each ctl In CommandBars("Tools").Controls Name = ctl.Caption
If Name = "Prot&ection" Then ctl.Enabled = True ' False dans si mauvais mot de passe End If
Next ctl
Mais je dois faire la deuxieme partie que si l'utilisateur met le bon mot de passe!! S'il annule je ne dois pas deproter l'option "Protection"
Merci pour ta reponse
Salut Jed Aprés avoir protégé ta feuille avec le mot de passe "Toto" Je te propose ce code :
If ActiveSheet.ProtectContents = True Then If InputBox("Saisissez le mot de passe", "Mot de Passe") = "Toto" Then ActiveSheet.Unprotect ("Toto") Else Ton code ..... End If End If
Le mot de passe "Toto" à adapter
Celà devrait convenir Dis moi !!!
Bonjour à tous,
D'abord Une bonnée année 2008 à tous ! (je suis encore dans les temps ;-)
J'aimerai savoir comment je peux coder l'evenement click sur la fenetre de saisie de mot de passe lors d'une protection de document Excel 2000 ?
Lorsque je fais un :
protected = ActiveSheet.ProtectContents If (protected) Then ActiveSheet.Unprotect End If
J'ai un ecran me permettant de saisir le mot de passe mais j'aimerai coder quelque chose si l'utilisateur clique sur "Annuler". Comment puis intercepter cet evenement?