Ôter la protection d'une feuille avec VBA ...

Pio

XLDnaute Nouveau
Bonjour à toutes et à tous !

Alors voilà, comme la dernière fois vous avez résolu mon soucis en moins de temps qu'il ne faut pour le dire, je reviens vers vous.

J'ai donc créé une macro en VBA qui fait des calculs et remplit une feuille Excel (jusque là, pas d'embrouille ! :p ).
Comme cette feuille contient des données "sensibles", je dois la protéger pour qu'elle ne soit modifiable que via un mot de passe ou par la macro (mais alors sans mot de passe !).

Le soucis, c'est qu'à l'exécution de ma macro avec la feuille protégée, il faut donc que j'intègre de déprotéger la feuille avant de mettre à jour les valeurs. Mais, pas moyen de faire ça sans qu'il me demande le mot de passe (chose que je voudrais éviter).
Y'a-t-il moyen d'intégrer le mot de passe directement à la macro pour qu'elle le donne à Excel ?

Pareil, lorsque je veux protéger la feuille via la macro, pas moyen de lui définir un mot de passe. Il la protège sans mot de passe ...


Vous avez une solution à me proposer ?

Merci par avance !!!
Jérôme
 

Pio

XLDnaute Nouveau
Re : Ôter la protection d'une feuille avec VBA ...

Pfff ... je vais commencer à désespérer ...
4 minutes ... 4 minutes pour résoudre le soucis sur lequel je sèche depuis 1/2 h !

Je me rends compte que j'en sais moins sur VBA que je pensais ! :p

En tout cas, merci beaucoup wilfried_42!!
 

chris

XLDnaute Barbatruc
Re : Ôter la protection d'une feuille avec VBA ...

Bonjour wilfried_42, pio et à tous
Autre solution à mon avis meilleure
Worksheets("PM_Tasks").Protect userinterfaceonly:=True, Password:="mot de passe"
permet de laisser la protection mais d'autoriser la macro à faire ce qu'elle doit faire
Je conseille de le mettre dans une boucle l'appliquant sur toutes les feuilles protégées dans le Workbook_open
Ainsi même en interrompant la macro, la protection reste active.
 

krysos

XLDnaute Nouveau
Re : Ôter la protection d'une feuille avec VBA ...

Bonjour,

J'avais quelques soucis pour appliquer cette fonction, mais en fait, il faut retirer la protection des cellules liées aux zones de liste pour que cela fonctionne correctement sinon, les macros ne se lancent pas car cela bloque au niveau de la mise à jour des cellules liées.

Cette information peut servir à des néophytes.

Par contre, en incluant ce code en début de macro, quel est l'intérêt de le mettre en boucle ? puisque l'accès est autorisé dès l'ouverture de la macro.
 

mercant76

XLDnaute Impliqué
Re : Ôter la protection d'une feuille avec VBA ...

bonjour krysos et le forum

Chris a écrit : Je conseille de le mettre dans une boucle l'appliquant sur toutes les feuilles protégées.

la question de départ était pour UNE feuille.

@+
 

Nurbo

XLDnaute Nouveau
Re : Ôter la protection d'une feuille avec VBA ...

Salut,

Merci pour cette astuce, elle fait presque ce que je veux, à moins que j'ai zappé une étape.
Les feuilles sont bien vérrouillées en modifications, la macro peut tourner librement, mais l'utilisateur peux afficher les feuilles.
Est-ce que je dois aussi utiliser ton code sur ThisWorkbook ? ou je vérrouille le classeur de façon classique via mdp ?
 

Pierrot93

XLDnaute Barbatruc
Re : Ôter la protection d'une feuille avec VBA ...

Bonjour,

tu remontes là une bien ancienne discussion.... il eût été préférable d'ouvrir ton propre fil....
Les feuilles sont bien vérrouillées en modifications, la macro peut tourner librement, mais l'utilisateur peux afficher les feuilles.
Est-ce que je dois aussi utiliser ton code sur ThisWorkbook ? ou je vérrouille le classeur de façon classique via mdp ?

pour que l'utilisateur ne puisse pas afficher les feuilles, les masquer et protéger le classeur...

bonne journée
@+
 

Nurbo

XLDnaute Nouveau
Re : Ôter la protection d'une feuille avec VBA ...

Si j'ai remonté le post c'est parce que je trouvait l'astuce sympa et qu'elle pouvait être utile à d'autres.
Ce qui, pour l'amateur que je suis m'évite d'avoir à faire "protect" et "unprotect" à chaque clique...encore une fois je débute. :p
 

titou83

XLDnaute Nouveau
Re : Ôter la protection d'une feuille avec VBA ...

Bonjour,

En me baladant sur ce post, il me vient une question concernant l'utilisation de ces deux méthodes.

En regardant le code vba du fichier (ou de la macro, selon la méthode choisie parmi les deux proposées ici), un utilisateur peut donc voir et récupérer le mot de passe de la feuille non?

Ou alors j'ai raté un truc?
 
Dernière édition:

titou83

XLDnaute Nouveau
Re : Ôter la protection d'une feuille avec VBA ...

En effet...j'ai perdu une occasion de me taire...

Du coup j'ai une autre question qui s'apparente au sujet (j'aurais pu créer un nouveau post mais bon, c'est pour moi dans la continuité de ce post...):
Je veux créer une macro s'appliquant sur une feuille protégée par un mot de passe. Jusque la pas de pb.

Par contre, je veux que l'utilisateur puisse lancer la macro sans pour autant avoir à connaitre le mot de passe (et donc pas à devoir le renseigner). Est-ce possible?

Merci!
 

chris

XLDnaute Barbatruc
Re : Ôter la protection d'une feuille avec VBA ...

Bonjour

Du moment que la mention Protect userinterfaceonly est dans la macro avec le mot de passe, rien n'est demandé à l'utilisateur.

Seul celui qui veut modifier l'onglet manuellement a besoin du mot de passe.
 

Modeste geedee

XLDnaute Barbatruc
Re : Ôter la protection d'une feuille avec VBA ...

Bonsour®
Bonjour,

En me baladant sur ce post, il me vient une question concernant l'utilisation de ces deux méthodes.

En regardant le code vba du fichier (ou de la macro, selon la méthode choisie parmi les deux proposées ici), un utilisateur peut donc voir et récupérer le mot de passe de la feuille non?

à priori non...
puisque le mode de verrouillage est un HashCode et qu'en conséquence il est possible que plusieurs mots de passe différents puissent déverrouiller un classeur...

http://eprint.iacr.org/2005/007.pdf

* Excel 2007 uses an industry-strength AES encryption algorithm that
makes password search speed slow: 20-100 passwords per second on an
average PC.
* Excel 97-2003 uses an industry-strength RC4 encryption algorithm that
makes instant password calculation impossible.

Protection par mot de passe Excel : Forum Excel
 

Discussions similaires

Réponses
2
Affichages
179
Réponses
5
Affichages
414
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal