protection Sheets par USF

  • Initiateur de la discussion Franck
  • Date de début
F

Franck

Guest
Bonjours a tous

Mon probleme est de créer une boucle qui me permetra de déprotéger une a une les feuilles du classeur actif sans les nomer bien sur - la commande partiera d'un USF

Merci par avance

Franck
 

Luki

XLDnaute Accro
franck,

fais une boucle sur la collection de feuille du classeur:


Sub DeprotegeFeuilles()

Dim MaFeuille As Worksheet


For Each MaFeuille In Worksheets

ActiveSheet.Unprotect

Next MaFeuille

End Sub


A+


trop vite ! posté trop vite gourré! la macro corrigée

Sub DeprotegeFeuilles()

Dim MaFeuille As Worksheet


For Each MaFeuille In Worksheets

MaFeuille.Unprotect

Next MaFeuille

End Sub

Message édité par: luki, à: 24/03/2005 17:31
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Franck, Luky, le Forum

ActiveSheet.Unprotect ?... tu n'as loupé un truc dans ton code Luky, mais tu n'étais pas loin, puisque tu avais créé l'Objet 'MaFeuille' en boucle...

Sinon imaginons depuis un CommandButton de UserForm, çà donnerait ceci pour déprotéger toutes les Feuilles

Private Sub CommandButton1_Click()
Dim WS As Worksheet
For Each WS In ThisWorkbook.Worksheets
WS.Unprotect
Next
End Sub

Et sinon en plus précis, une UserForm avec une ListBox, pour déprotéger 'Feuille' à 'Feuille' :
Private Sub UserForm_Initialize()
Dim WS As Worksheet
With Me.ListBox1
For Each WS In ThisWorkbook.Worksheets
.AddItem WS.Name
Next
End With
End Sub

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim WS As Worksheet
Set WS = ThisWorkbook.Worksheets(CStr(Me.ListBox1.Value))
With WS
.Unprotect
.Activate
End With

End Sub

Bonne Soirée
@+Thierry


EDITION :

Ah et bien entre-temps Luky a vu son petit problème !

Message édité par: _Thierry, à: 24/03/2005 17:39
 
F

Franck

Guest
Salut Luki , Thierry

Merci pour votre aide
Voila moi j'avais fait comme le premier code de Luki ,et evidament ...

Je vois que thierry est toujours a la pointe du progres
Au fait je n'ais pas eu l'occasion de te remercier pour ta demo de Gif
- tres efficasse !!

A + Franck
 
G

Guigui

Guest
Hello tous le monde,

Je me permet de réouvrir ce poste pour posé un tiote question :

Thierry, dans ton code
Code:
Private Sub UserForm_Initialize()
Dim WS As Worksheet
With Me.ListBox1
For Each WS In ThisWorkbook.Worksheets
.AddItem WS.Name
Next
End With
End Sub

Comment faire pour traduire : Pour chaque feuille (donc For each WS) sauf tel feuille tel feuille et tel feuille ....

Enfaite pour dire Tout ... Sauf... lol

Merci d'avance pour ton (votre) aide
A+ guillaume
 

Discussions similaires

Réponses
8
Affichages
431
Réponses
16
Affichages
558

Statistiques des forums

Discussions
312 493
Messages
2 088 946
Membres
103 989
dernier inscrit
jralonso