oter la protection d'une feuille et la remettre VBA

obelix77

XLDnaute Junior
Bonjour,

J'utilise une feuille qui est protégée avec mot de passe.

J'ai mis une macro en place qui me permet de renommer une table.

J'ai besoin de retirer la protection pour que la macro puisse changer le nom de la plage puis de remettre la protection en place.
J'utilise le code suivant :

Sub protection()
'retire la protection par mot de passe pour renommer la plage
Dim w As Worksheet
For Each w In ActiveWorkbook.Sheets
w.Unprotect Password:="*"
Next

'renomme le tableau pour le TCD
ActiveSheet.ListObjects(1).Name = "avec_heure_sup"

'remet la protection par mot de passe
For Each w In ActiveWorkbook.Sheets
w.Protect Password:="*", AllowFiltering:=True
Next

ActiveWorkbook.Save

End Sub

Mon problème : la protection se retire mais, quand elle se remet en place, elle le fait sur TOUTES les feulles du fichier.

Si quelqu'un a une solution, elle sera la bien venue.

Un grand merci par avance
 

bbb38

XLDnaute Accro
Bonsoir obelix77, le forum,
Avec les boucles For Each…/Next, tu retires la protection sur l’ensemble des feuilles, puis tu la remets.
Tu dois réaliser ces deux manipulations uniquement sur la feuille souhaitée.
Cordialement,
Bernard
 

La Vouivre

XLDnaute Occasionnel
Bonsoir obelix77 amis exceliens
essaye ces codes , s'ils convienne

Sub protection1()
'met la protection par mot de passe pour renommer la feuille
' Protection avec mot passe ("monmot2passe")
ActiveSheet.Protect Password:="la vouivre", DrawingObjects:=True, Contents:=True, Scenarios:=True

End Sub


Sub suprime_protection1()
'retire la protection par mot de passe pour renommer la feuille
ActiveSheet.Unprotect

End Sub
 

obelix77

XLDnaute Junior
Bonjour La Vouivre et bonjour à tous,

En fait, il s'agit d'une macro qui continue à agir après cette modification et qui déclenche d'autres macro.
Ave mes connaissances, Il ne met pas possible de faire 2 macros pour cette opération.

Je cherche une solution qui me permet dans la même macro :
1 de supprimer la protection de l'onglet "avec_heures_sup"
2 de modifier le nom du tableau
3 de remettre la protection que sur l'onglet portant le nom "avec_heures_sup" et que sur cet onglet.

Et je n'y arrives pas :(

Donc au secour

Merci à tous de votre attention
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T