|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Technicien Méthode Inscription : mars 2011 Messages : 52 ![]() |
Bonjour,
Je possède un fichier Excel avec une feuille protégée par MdP. Certains utilisateurs le connaissent afin d'apporter des modifications au fichier. Cependant lorsqu'ils le reprotège, certains changent le MdP d'origine. Je souhaiterai donc exécuter une macro après la déprotection de la feuille qui bloquerai le menu Outil/Protection. Avec ceci je mettrai une macro pour reproteger la feuille avant fermeture du fichier. Cependant : 1 - Je ne sais pas comment exécuter une macro après déprotection de la feuille. 2 - Je ne sais pas non plus comment bloquer le fait de réactiver le MdP. Merci par avance d'essayer de m'aiguiller. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Chercheur de bonheur Inscription : août 2007 Messages : 2 257 ![]() |
Bonjour,
C'est risqué et incertain. De plus je ne crois pas qu'il existe un évènement qui te permette de détecter en VBA la Déprotection de la feuille. Il est préférable d'essayer d'adapter ta protection pour qu'elle autorise les modifications nécessaires, quitte à ce que certaines modifications soient faites via VBA qui se chargerait de manière invisible de : - déprotéger - modifier - reprotéger Pour cela il faudra protéger ton code VBA (ca vaut ce que cela vaut) et SURTOUT, changer le mot de passe de protection de ta feuille. mais, j'ignore si c'est possible pour toi et/ou adapté à tes besoins.
__________________
(\ _ /) Cordialement G@dz (='.'=) (")-(") Vous avez des neurones. Sollicitez-les. ![]() . Si vous êtes aidé, pensez à Voter.
|
|
|
00
|
|
|
#3 | ||
|
Futur Membre du Club
![]() Technicien Méthode Inscription : mars 2011 Messages : 52 ![]() |
J'ai trouvé pour la question 2. Pour masquer la barre en haut, j'ai mis :
Code :
Application.CommandBars("Worksheet Menu Bar").Enabled = False Toujours pas d'info pour la question 1 de mon côté... J'ai même trouvé mieux : Code :
Je cherche toujours pour la 1ière. PS : Penser à réactiver le menu à la fin sinon l'utilisateur ne va pas être content à l'ouverture de son prochain fichier Excel |
||
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Inscription : décembre 2007 Messages : 73 ![]() |
Bonjour,
comme dit plus haut, il faut "bâtir" une petite usine à gaz pour protéger déprotéger via VBA... avec toutes les réserves sur la protection dans excel (très très relative la protection). Le principe: 1) A chaque fermeture du fichier une macro se lance pour (re)protéger le fichier (Autoclose). 2) Pour l'ouverture, prévoir une feuille (Mot de passe, par exemple), pour laquelle la valeur saisie en A1 (par exemple) lancera une macro de "déprotection" du fichier (la déprotection peut être relative aux zones etc... à modifier)... La protection déprotection se faisant de façon invisible par VBA (comme dit dans le post plus haut). Il suffira de distribuer "le code" (la valeur à entrer en A1 de la feuille prévue à cet effet). 3) Pour que cela est une chance de fonctionner, il faudra (autre morceau de l'usine à gaz) obliger l'utilisation des macros. 4) Et il faudra protéger VBA... A+ D D Du 06 |
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Technicien Méthode Inscription : mars 2011 Messages : 52 ![]() |
Je suis effectivement parti là-dessus.
Un Userform qui demande le mot de passe. Si celui-ci est bon, la protection est enlevée via les macro. S'il est incorrect au bout de 3 essais, le fichier se ferme. Le menu principal est désactivé de façon à ce qu'aucun utilisateur ne puisse changer la protection. Celle-ci est réactivée à la fermeture du fichier. Je vous tiens au courant si cela fonctionne. |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Pour ma part, je pense qu'il vaudrait mieux que tu protèges ta feuille par un mot de passe que toi seul connait. Et par contre, tu fais une macro qui demande un mot de passe et qui change la propriété Locked des cellules concernées pour les utilisateurs qui feront des modifications.
Parce que pour ce qui est de cacher le menu, l'utilisateur pourra toujours le réactiver s'il le souhaite.
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell |
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Technicien Méthode Inscription : mars 2011 Messages : 52 ![]() |
J'ai réussi à faire ce que je voulais.
Merci quand même. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com