Oter la protection

Résolu/Fermé
gilou - 4 févr. 2009 à 15:42
 gilou - 5 févr. 2009 à 16:14
Bonjour,
j'ai eté flanqué de plusieurs fichiers ( identiques) dont je dois modifier quelques parametres helas chaque feuille est protegée ; pour ne pas avoir à faire la manoeuvre de deprotection a chaque feuille je me demande si en rentrant un code dans this workbook_open, il n'y aurait pas moyen d'eviter cette manoeuvre .Idem pour reproteger
bien entendu le code employé pour proteger n'est pas court
merci de bien vouloir m'aider

3 réponses

Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 293
4 févr. 2009 à 16:06
bonjour,


Private Sub Workbook_Open()
Dim sht As Variant
For Each sht In Worksheets

sht.Unprotect ("motdepasse")
Next
End Sub

et si ça va pas .... faudra se plaindre : )
0
merci bidouilleu je vais essayer; je ne vois vraiment pas pourquoi cela n irait pas
A demain , je dois m ' absenter
0
bonjour
eh bien pas de pot , après avoir saisi ton code dans workbook au moment de l'execution j'ai droit a: erreur 13 incompatibilité de type ; aie !!
a+
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 293
5 févr. 2009 à 09:32
Bonjour,

j'ai testé cela dans un module
aucune erreur
l'erreur 13 se produit quand on veut mettre dans un variable quelque chose qui n'y rentre pas
vérifie que tu n'as pas oublié le "S" à la fin de worksheets.



Sub déprotège()
Dim sht As Variant
For Each sht In Worksheets
sht.Unprotect "truc02"
Next

End Sub
0
re
je m'excuse du retard car j'etais absent ,ouf ! ça marche . mais il y a un truc que je ne saisis pas et, cela fait longtemps que cela me turlupine : pourquoi que quand je tape un code ou, que je le colle dans une feuille ou dans
workbook ,j'ai toutes les peines à l'executer car bien que ayant enregistré au moment ou je veux executer ; la fenetre execution est vide par contre si je crée le code dans un module, là j'arrive à le retrouver pour pouvoir l'affecter
à une commande quelquonque
il ya une maneouvre que je ne saisis pas et , c'est dommage car j'ai souvant foiré des solutions interessantes issues du site because je suis incapable de les mettre en oeuvre
je suppose que pour reproteger apres manip ; ils'agit du meme code avec' protect' a la place de 'unprotect'
merci à +
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 293
5 févr. 2009 à 14:27
bonjour,

pour protéger la feuille il faut effectivemment utiliser .protect "motdepass"
un bon point
un deuxième bon point pour avoir posé la question.

pourquoi que quand je tape un code ou, que je le colle dans une feuille ou dans
workbook ,j'ai toutes les peines à l'executer car bien que ayant enregistré au moment ou je veux executer ; la fenetre execution est vide

parce que Excel possède des "feuilles" différentes avec des propriétés différentes.

dans thisworkbook il faut utiliser l'entête <général> et selectionner workbook et choisir une méthode d'évènement
pour y placer ton code
la portée est réservée à ce classeur.



par contre si je crée le code dans un module, là j'arrive à le retrouver pour pouvoir l'affecter

c'est la bonne manière de travailler
place tes procédures dans un module et appelle - les depuis thisworkbook si nécessaire.

pour le fait que ta macro disparaisse, je n'ai jamais essayé.... là c'est moi qui découvre.
donc un troisème point tu m'as appris qqchose.
0
C'est encore moi
pour illustrer mon propos : le premier code (private ........ open) je l'avais effectivement mis dans this workbook(car comme son nom l'indique ;il concerne le classeur . Ormis le fait "oui,oui c'est vrai que j'avais oublié le s de worksheets " et ; après correction cela ne machait pas . Pourtant j'utilise les volets "declration" d'ailleurs ça va plus vite et, pour un pro comme moi ,cela limite les erreurs de frappe
il m'est meme arrivé que pour faire marcher une procedure de commencer par if range("A1")=1 then comme si
il me fallait fournir un pretexte à l'execution voyez le niveau
petite correctoion : la macro ne disparait pas je dirais plutot qu'elle demeure introuvable suite à une erreur de ma part
le tout est de savoir laquelle je dois certainement oublier quelque chose
merci pour deja pour vos quelques explications et, si votre pseudo est bidouilleu , le mien pourrait facilement etre cafouilleu
0