Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Masquer lignes (avec Grouper/Dissocier)

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 !

midovic

XLDnaute Nouveau
Bonjour,

Je souhaite une solution pour mon fichier ci-joint. Je vous en remercie par avance!

En fait, e souhaite masquer les lignes dont la somme de la ligne est égale à 0.
J'ai réussi à trouver une macro dans le forum (masquer/afficher) qui fonctionne.
Mon problème est le suivant :
1-Les lignes ont une structure plan (Grouper/Dissocier)
2-Quand j'utilise la macro pour masquer les lignes ca fonctionne, par contre, quand j'utilise tout de suite après les boutons du plan (+ / - / 1 / 2 / ... ) les lignes masquées réapparaissent!
Y a-t-il un moyen pour garder ces lignes masquées même si j'utilise les boutons plan (grouper / dissocier)?

Encore merci par avance.
 

Pièces jointes

Bonjour midovic et bienvenue,

Le bouton soit s'adapter à l'organisation du plan donc utiliser :
VB:
Private Sub CommandButton1_Click()
ActiveSheet.Outline.ShowLevels RowLevels:=IIf(CommandButton1.Caption = "Masquer", 1, 3)
CommandButton1.Caption = IIf(CommandButton1.Caption = "Masquer", "Afficher", "Masquer")
End Sub
A+
 

Pièces jointes

merci beaucoup Job75!
En effet, cette macro permet aussi de masquer les lignes!

Par contre, je pense que j'ai mal formulé ma demande initiale... 🙂
En fait, quand j'utilise la macro, les lignes sont bien masquées (lignes avec somme 0). Jusqu'à là tout va bien.
Mon problème : quand je veux voir le détail d'une ligne groupée en particulier, quand je déplie le bouton + les lignes 0 réapparaissent ! donc, comment je peux faire pour que c'est lignes à 0 restent masquer?
 
Si le plan vous gêne eh bien ne l'utilisez pas.
Voyez le fichier joint et cette macro :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target(1) <> "Afficher" Then Exit Sub
Cancel = True
While Target(2, 1).Text = "0"
    Target(2, 1).EntireRow.Hidden = Not Target(2, 1).EntireRow.Hidden
    Set Target = Target(2, 1)
Wend
End Sub
Cliquez sur le bouton "Masquer" puis double-clic sur "Afficher" en colonne B.
 

Pièces jointes

C'est très bien comme solution 🙂
Merci beaucoup job75!
 
- 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
451
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…