Protection à l'ouverture de certaines feuilles

Piro

XLDnaute Nouveau
J'ai une macro dans Thisworkbook qui me permet d'utiliser les filtres même si la feuille est protégé :

Private Sub Workbook_Open()
' Pour utiliser le filtre sur une feuille protégée :
ActiveSheet.EnableAutoFilter = True
ActiveSheet.Protect contents:=True, userInterfaceOnly:=True
End Sub

Mon problème c'est que seulement 2 feuilles sur trois doivent être protégées. Comment faire pour que la troisième feuille ne soient pas protégé à l'ouverture sans devoir mettre cette feuille dans un autre chiffrier ?

Merci d'avance
 

Pierrot93

XLDnaute Barbatruc
Re : Protection à l'ouverture de certaines feuilles

Bonjour Piro

essaye peut être ainsi, si j'ai bien compris :

Code:
Private Sub Workbook_Open()
Dim f() As Variant, i As Byte
'nom des feuilles devant être protégées 
f = Array("Feuil1", "Feuil2")
For i = 0 To UBound(f)
    With Sheets(f(i))
        .EnableAutoFilter = True
        .Protect contents:=True, userInterfaceOnly:=True
    End With
Next i
End Sub

bonne fin d'après midi
@+
 

Piro

XLDnaute Nouveau
Re : Protection à l'ouverture de certaines feuilles

Il y a un erreur que je ne comprend pas à "with sheets"

Private Sub Workbook_Open()
Dim f() As Variant, i As Byte
'nom des feuilles devant être protégées
f = Array("Feuil2", "Feuil5")
For i = 0 To UBound(f)
With Sheets(f(i))
.EnableAutoFilter = True
.Protect contents:=True, userInterfaceOnly:=True
End With
Next i
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Protection à l'ouverture de certaines feuilles

Bonjour Piro

pas d'erreur chez moi (Excel 2003), ce code fonctionne, mais modifie peut être ainsi :

Code:
Option Explicit
Private Sub Workbook_Open()
Dim f() As Variant, i As Byte
'nom des feuilles devant être protégées
f = Array("Feuil1", "Feuil2")
For i = [B][COLOR="Red"]LBound(f) [/COLOR][/B]To UBound(f)
    With Sheets(f(i))
        .EnableAutoFilter = True
        .Protect contents:=True, userInterfaceOnly:=True
    End With
Next i
End Sub

bonne journée
@+
 

Piro

XLDnaute Nouveau
Re : Protection à l'ouverture de certaines feuilles

toujours en erreur :

Erreur d'exécution '-2147352565 (8002000b)':
Le focus ne peut être déplacé sur le contrôle car celui-ci est invisible, non activé, ou d'un type n'acceptant pas le focus

???
 

Pierrot93

XLDnaute Barbatruc
Re : Protection à l'ouverture de certaines feuilles

Bonjour Piro,

comprends pas, chez moi ce code fonctionne(excel 2003)... mets le fichier en pièce jointe, sans donnée confidentielle, ce sera plus facile pour t'aider.

bonne journée
@+
 

Pierrot93

XLDnaute Barbatruc
Re : Protection à l'ouverture de certaines feuilles

Re,

fonctionne chez moi (excel 2003) avec des noms de feuille valides :

Code:
f = Array("[B][COLOR="Red"]Chemin de fer[/COLOR][/B]", "[COLOR="red"][B]Besoins[/B][/COLOR]")

bon après midi
@+
 

Piro

XLDnaute Nouveau
Re : Protection à l'ouverture de certaines feuilles

Enfin, ça marche ! L'erreur était (évidemment) la mienne...

Le problème était que j'écrivais le nom "FeuilX" à coté du nom complet entre parenthèse dans l'utilitaire VB.

Merci beaucoup !!!
 

Discussions similaires

Réponses
8
Affichages
667

Statistiques des forums

Discussions
312 329
Messages
2 087 331
Membres
103 519
dernier inscrit
Thomas_grc11