Bonjour,
J'ai protégé ma feuille excel avec un mot de passe, mais mes cellules verrouillées ne peuvent plus obéir à des macros. Y a-t-il une solution à ce problème?
Merci d'avance
Bonjour,
J'ai protégé ma feuille excel avec un mot de passe, mais mes cellules verrouillées ne peuvent plus obéir à des macros. Y a-t-il une solution à ce problème?
Merci d'avance
« Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir »
Que veux-tu faire exactement ? Qu'entends-tu par obéïr ?
Sinon, une solution rapide, c'est d'ôter la protection des cellules par macro, le temps que la macro s'exécute et réactivation de la protection à la fin.
J'ai moi-même fait cela et ça marche très bien... seul contrainte, s'assurer que même en cas d'erreur lors de l'exécution du code, tu passes bien à la fin sur la réactivation de la protection...
Ah ! Et puis il faut aussi protéger la macro, car le mot de passe apparaît forcément en clair quelque part dans le code (quoique j'ai fait autrement, mais je peux pas dire !! )
protect et unprotect
mais les protections de ce genre ne sont pas forcement utile, et pas forcement efficaces. la protection oui, pour eviter une modif accidentelle, mais le mot de passe, pas forcement, et source de problemes. dans ce cas le code est le meme, mais tu n'écris pas le mot de passe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 sheet(1).unprotect motdepasse moncode.execute sheet(1).protect motdepasse
ok, merci pour la solution!
c'est juste une protection pour éviter des modifs accidentelles donc ça devrait aller!
« Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir »
Il existe une solution plus propre et un peu plus **** a mettre en place :
Activer le verrouillage des cellules par vba, avec option spécifique pour verrouiller uniquement dans l'interface, en laissant les cellules actives par vba ou macro
https://msdn.microsoft.com/en-us/lib.../ff840611.aspx
UserInterfaceOnly
True to protect the user interface, but not macros. If this argument is omitted, protection applies both to macros and to the user interface.
oui option userinterfaceonly qui évite de laisser traîner le mot de passe en clair dans le projet VBA (qui n'est pas secure)
cela dit option userinterfaceonly permet de modifier la propriété masquée des formules depuis la fenêtre execution, et donc d'accéder dans un deuxième temps à ces formules
sinon à la place il suffit de mettre les cellules à modifier en déverouiller et le reste en vérouiller, solution la plus efficace
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager