Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Deleep

XLDnaute Nouveau
Bonjour à tous,

Ne sachant pas si mon précédent message, s'inscrivant dans le fil d'un Post datant de 3 ans serait visible par tous, je me permets de vous resoumettre ma question : dans le code suivant :

CODE
Private Sub Workbook_Open()
With Worksheets("Feuil1")
.EnableAutoFilter = True
.EnableOutlining = True
.Protect Contents:=True, Password:="Toto", UserInterfaceOnly:=True
End With
End Sub

Quelle est la sytntaxe exacte pour rajouter des onglet (Feuil2, Feuil3,..)
j'ai essayé plusieurs solutions, mais il me donne toujours une erreur.

pour info, ce code permet de laisser l'utilisateur utilisé la fonction Grouper sur une feuille protégée.

Merci d'avance et désolé si ce post fait doublon avec l'autre.
 
Re : Code Thisworkbook

Bonjour Deleep, bonjour le forum,

peut-être avec une boucle :
Code:
Private Sub Workbook_Open()
For x = 1 To 3
    With Worksheets(x)
        .EnableAutoFilter = True
        .EnableOutlining = True
        .Protect Contents:=True, Password:="Toto", UserInterfaceOnly:=True
    End With
Next x
End Sub
 
Re : Code Thisworkbook

Bonjour Robert,

Désolé de mon ignorance, mais je ne sais pas à quoi sert une boucle.
Pourrais-tu me remplacer le X par le nom de mes onglets afin que ce soit plus clair pour moi ?
Les onglet sont GestOp et Equipe

Un grand merci d'avance !
 
Re : Code Thisworkbook

Bonsoir Deleep, bonsoir le forum,

Une boucle est nécessaire pour faire faire une même action à plusieurs éléments. x est le numéro d'index des tes onglets et cela évite de les nommer. Le code que je t'ai donné va agir sur les trois premiers onglets de ton classeur (For x = 1 to 3 ). Tu peux l'adapter mais on pourrait aussi faire comme ça, si tu veux Utiliser le nom des onglets :
Code:
Private Sub Workbook_Open()
For x = 1 To Sheets.Count 'boucle sur tous les onglets du classeur
    Select Case Sheets(x).Name 'agit en fonction du nom de l'onglet
        Case "Feuil1", "GestOp", "Equipe" 'cas "Feuil1", "GestOp" et "Equipe"
        With Sheets(x)
            .EnableAutoFilter = True
            .EnableOutlining = True
            .Protect Contents:=True, Password:="Toto", UserInterfaceOnly:=True
        End With
    End Select 'fin de l'action en fonction du nom
Next x 'prochain onglet du classeur
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
842
Réponses
3
Affichages
361
Réponses
7
Affichages
2 K
Retour