Macro et feuille protégée sur excel: besoin d'aide...

Sanchar -  
 Sanchar -
Bonjour,

Question de débutante:
J'ai enregistré une macro (toute simple) sur excel et je l'ai liée à une forme "bouton".
si je ne protège pas la feuille, la macro s'execute.
Par contre si je protège la feuille, j'ai une "erreur 1004" qui apparait.
J'ai bien décoché le verrouillage de la forme.
Pour les propriétés, j'ai toutes les options (ne pas déplacer + ne pas dimensionner sur la cellule, déplacer avec la cellule sans dimensionner et dimensionner + déplacer avec la cellule). Rien n'y fait...erreur 1004.
J'ai pu déverrouiller des cellules sans problème. Mais la macro, impossible.
Quelqu'un saurait quelle peut être la solution?
En vous remerciant par avance




A voir également:

5 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, peux-tu partager ton fichier?
0
Sanchar
 
Bonjour,
Merci pour la réponse.
Je ne vois pas comment. Apparemment je ne peux partager que des images.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
0
Sanchar
 
Si j'insère la ligne

ActiveSheet.Unprotect ("mdp")

comme indiqué ici:
https://forums.commentcamarche.net/forum/affich-3164421-excel-execut-macros-sur-feuille-protegee

Dès que j'active la macro, la protection est totalement supprimée sur la page
Même j'approche de la solution
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
tu n'as pas expliqué ce que tu souhaitais faire:
- faire tourner la macro même quand la feuille protégée, tout en laissant la protection.
- autre chose?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sanchar
 
Ah pardon, oui c'est çà. Je voulais pouvoir protéger la feuille mais pouvoir actionner la macro en cliquant sur le bouton qui lui est attaché.

Mais le lien précédent est bon en fait. Je n'ai appliqué que la moitié des consignes :)

Donc pour le nuls comme moi:
en début de macro on note:
ActiveSheet.Unprotect ("mdp")

et juste avant de finir on n'oublie pas de réactiver la protection:
ActiveSheet.Protect ("mdp")

Sinon, pour les allergiques total, il doit y avoir moyen d'enregistrer la macro en commençant l'enchainement des actions par "ôter la protection de la feuille" et en finissant par "protéger la feuille"

Merci
0
cédric
 
  
Remarque : les parenthèses sont inutiles, tu peux mettre directement :


Sub Essai()
  ActiveSheet.Unprotect "mdp"
  ...
  ActiveSheet.Protect "mdp"
End Sub


Mais l'enregistrement auto d'une macro ne le fera pas de lui-même car :

a) On ne protège pas forcément une feuille de calcul, donc ce serait inutile
si la feuille est déprotégée.

b) Pour déprotéger la feuille, l'enregistrement automatique devrait savoir
quel mot de passe utiliser dans le code VBA, ce qu'il ne peut deviner.

c) Même si l'enregistrement automatique déprotégeait la feuille, il ne peut
pas non plus deviner s'il faudra ou non re-protéger la feuille : des fois,
on peut vouloir laisser la feuille déprotégée (en sortie de macro).
 
0
Sanchar > cédric
 
ok merci
0