Rendre actif les (grouper et degrouper) quand la feuille est protégée

  • Initiateur de la discussion Initiateur de la discussion jacksud
  • Date de début Date de début

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 !

jacksud

XLDnaute Occasionnel
Kjin m'a fait cette macro qui marche très bien avec les conditions de départ qui sont que le filtre soit actif quand la feuille est protégée et que certaines colonnes soient protégées et d’autres non. Cependant j’aimerai pouvoir rendre actif les (grouper et de grouper ) est-ce possible quand la feuille est protégée ?
La macro est dans le thisWorkbook
Le mot de passe est: jack



Voir pièce jointe
 

Pièces jointes

Re : Rendre actif les (grouper et degrouper) quand la feuille est protégée

Bonjour jacksud, le forum,

Une solution parmi d'autres (mais il y a peut-être plus simple) serait d'ajouter un bouton dans ta feuille avec un code inspiré de ce qui suit:

Private Sub CommandButton1_Click()
Columns("E:I").Select
If Selection.EntireColumn.Hidden = True Then
CommandButton1.Caption = "Masquer détails"
CommandButton1.Height = "42"
CommandButton1.Width = "102"
CommandButton1.Top = "99"
Selection.EntireColumn.Hidden = False
Else: Selection.EntireColumn.Hidden = True
CommandButton1.Caption = "Afficher détails"
CommandButton1.Height = "42"
CommandButton1.Width = "102"
CommandButton1.Top = "99"
End If
End Sub

Modeste
 
Re : Rendre actif les (grouper et degrouper) quand la feuille est protégée

Bonjour

Pas pu tester sur ton fichier puisqu'il y a un mot de passe inconnu ( 😀 ça on adore, ça aide ... 😀) , mais voici ci-dessous un truc que j'utilise sur certains de mes fichiers, qui ont des colonnes groupées sur 1 niveau (en revanche je crois que le code ci dessous ne fonctionne pas avec des colonnes masquées qui a été traité par notre ami Modeste que je salue ici 🙂 ) :

Un bouton "Plier" sur ma feuille protégée auquel j'affecte la macro suivante:

Code:
Sub Plier()
ActiveSheet.Unprotect "ton mot de passe" [COLOR=green]'ôte la protection de la feuille[/COLOR]
ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1 [COLOR=green]'Affiche le niveau 1[/COLOR]
ActiveSheet.Protect Password:="ton mot de passe", [COLOR=green]'remet la protection de la feuille[/COLOR]
DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

un autre bouton "Déplier" attaché à la macro suivante:

Code:
Sub Déplier()
ActiveSheet.Unprotect "ton mot de passe"
ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=2
ActiveSheet.Protect Password:="ton mot de passe", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
 
Re : Rendre actif les (grouper et degrouper) quand la feuille est protégée

re-Bonjour,

comme l'indique fort justement la proposition de mth (à qui j'adresse, moi aussi, mes respectueux hommages!😉) il convient d'ôter la protection de la feuille au moment d'exécuter la macro (... et de la réactiver ensuite !) ou d'autoriser (dans les options de protection) le "Format des colonnes" ... pour le cas où on masque les colonnes (mais qui ne fonctionne pas avec le "grouper/dégrouper")
Ceci dit, je n'ai pas pris le temps de tester la proposition de mth ... comme je le connais (même de loin!) sa proposition doit fonctionner à merveille et a le mérite de rester fidèle à ce que tu avais mis en place.

Modeste
 
Re : Rendre actif les (grouper et degrouper) quand la feuille est protégée

Salut à vous deux merci pour ces réponses je vais tester demain tout cela.
Pour mth regarde la fin de mon poste il y a le mot de passe marqué mais je ne t'en veux surtout pas car je suis content que vous m'ayez répondu.

Voila la macro qui est dans thisWorkbook.

Private Sub Workbook_Open()
With Sheets("TOTO")
.Protect password:="jack", DrawingObjects:=True, _
contents:=True, Scenarios:=True, userinterfaceonly:=True
.EnableAutoFilter = True
End With

End Sub


Ce que j'aurais aimé c'est trouver c'est le morceau de code (machin:=True) pour rendre les colonnes libres.

jack
 
Dernière édition:
Re : Rendre actif les (grouper et degrouper) quand la feuille est protégée

Bonsoir,
...Le mot de passe est: jack
Pas pu tester sur ton fichier puisqu'il y a un mot de passe inconnu ( 😀 ça on adore, ça aide ... 😀)
Eh, et c'est moi qui ne fais pas d'effort mth ! 😀😀😀
Jack, rajoute la ligne bleue dans le code
Code:
Private Sub Workbook_Open()
With Sheets("TOTO")
    .Protect password:="jack", DrawingObjects:=True, _
        contents:=True, Scenarios:=True, userinterfaceonly:=True
    .EnableAutoFilter = True
    [COLOR="Blue"].EnableOutlining = True[/COLOR]
End With
End Sub
A+
kjin
 
Re : Rendre actif les (grouper et degrouper) quand la feuille est protégée

bonsoir tout le monde 🙂

...Le mot de passe est: jack

mea culpa jack, j'avais zappé 😱

Merci à kjin pour son code dont je vais désormais m'inspirer .... rudement bien 🙂
et ... clin d'oeil pour le " Eh, et c'est moi qui ne fais pas d'effort mth !"

😀 ...oui .... 😀 .... et pliée de rire 😀

Encore merci à toi et au plaisir de te croiser 🙂

mth
 
- 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
Retour