Macro Afficher/Masquer Feuilles & Protéger / Déprotéger

Maivas

XLDnaute Junior
Bonjour,

Le sujet est souvent traité dans le forum mais malgré tous je n'ai pas trouvé de réponses à ma question.
En effet je souhaiterai créer une macro (Qui sera liée à un bouton d'une barre d'outil <- ça je sais faire) qui me permet en cliquant dessus de masquer 5 feuilles spécifiques et si je reclique sur le même bouton il me permet d'afficher ces 5 mêmes feuilles et inversement...
Il faut donc - Je pense - créer une boucle de test pour savoir si les 5 feuilles sont masquées ou non au moment ou je clique su le bouton.

J'ai d'ailleurs la même question pour une feuille protégée et déprotégée: en cliquant sur un autre bouton de ma barre d'outil je souhaiterai déprotéger la feuille active et si je reclique sur le même bouton la macro protége la feuille active et inversement...

1001 Mercis

Maivas
 

jp14

XLDnaute Barbatruc
Re : Macro Afficher/Masquer Feuilles & Protéger / Déprotéger

Bonjour

Ci dessous un code pour protéger ou pour supprimer la protection.
Code:
Sub cachefeuille()
If Sheets("feuil1").Visible = xlSheetVeryHidden Then
    Sheets("feuil1").Visible = True
End If
If Sheets("feuil1").Visible = True Then
    Sheets("feuil1").Visible = xlSheetVeryHidden
End If

End Sub

A tester

JP
 

Maivas

XLDnaute Junior
Re : Macro Afficher/Masquer Feuilles & Protéger / Déprotéger

Merci JP14 pour Afficher / Masquer

A ma sauce cela fait

Code:
For each ws in worksheets
If left (ws.name,4)="Bibi" then
If ws.visible = false then
ws.visible=true
Eseif ws.visible = true then
ws.visible=false
End if
End if
Next

Une petite idée pour tester Protéger / Déprotéger?
Merci

Maivas
PS: Quelles sont les balises utilisées pour mettre les bouts de code dans une zone spécifique dans le forum?
 

jp14

XLDnaute Barbatruc
Re : Macro Afficher/Masquer Feuilles & Protéger / Déprotéger

Bonsoir

PS: Quelles sont les balises utilisées pour mettre les bouts de code dans une zone spécifique dans le forum?

"[" code "]" début
"["/code" ]" fin

Il faut supprimer "

Pour protéger ou supprimer la protection

Code:
Option Explicit
Dim ws As Worksheet
Sub protegefeuille()
For Each ws In Worksheets
    If LCase(Left(ws.Name, 4)) = LCase("Bibi") Then
        Select Case ws.ProtectContents
            Case False
                 ws.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
            Case True
              ws.Unprotect
        End Select
    End If
Next


End Sub


JP
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 239
Messages
2 086 508
Membres
103 237
dernier inscrit
smbt-excel