Groupe sous Excel à masquer/afficher [Résolu]

Messages postés
4
Date d'inscription
lundi 6 août 2007
Dernière intervention
5 février 2010
- - Dernière réponse : laurentmayolle
Messages postés
2
Date d'inscription
mardi 17 juillet 2007
Dernière intervention
30 décembre 2010
- 29 nov. 2010 à 16:13
Bonjour

Je suis sous Excel, je voudrais simplement ajouter un bouton sur ma feuille qui masque/affiche les détails des groupes des lignes séléctionnées (comme le fait  déjà les commandes Données, Grouper et créer un plan, masquer et afficher les détails).

J'ai tenté de faire un enregistrement de macro pour obtenir le code mais il me donne

    ExecuteExcel4Macro "SHOW.DETAIL(1,24,TRUE,,21)"
    ExecuteExcel4Macro "SHOW.DETAIL(1,12,TRUE,,8)"

ce qui suppose que les groupes doivent être définis auparavant et que la feuille ne peut pas être modifiée sinon la macro ne fonctionne plus...

est ce que vous avez une idée?

Merci
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
4
Date d'inscription
lundi 6 août 2007
Dernière intervention
5 février 2010
1
1
Merci
Re,

Bon j'ai trouvé une façon de faire qui me convient parfaitment,

pour afficher j'utilise :
 ActiveSheet.Outline.ShowLevels RowLevels:=2
et
pour masquer
ActiveSheet.Outline.ShowLevels RowLevels:=1

je n'ai qu'un niveau de groupe donc ça fonctionne bien.

Je remercie quand même ceux qui ont lu mon message...

A bientôt

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 91 internautes nous ont dit merci ce mois-ci

Commenter la réponse de luddoo91
Messages postés
1
Date d'inscription
mardi 10 juin 2008
Dernière intervention
10 juin 2008
0
Merci
Merci bien!
solution simple et efficace... parfait
Commenter la réponse de xavette
Messages postés
2
Date d'inscription
mardi 17 juillet 2007
Dernière intervention
30 décembre 2010
0
Merci
'Il faut que la cellule active soit sur la ligne juste au dessus du groupe
Sub AfficherGroup()
Dim rngRegion As Range
Dim intDerniereLigne As Integer
Set rngRegion = ActiveCell.CurrentRegion
intDerniereLigne = rngRegion.Rows.Count
If intDerniereLigne > 2 Then rngRegion.Rows(intDerniereLigne).ShowDetail = True
End Sub

Sub MasquerGroup()
Dim rngRegion As Range
Dim intDerniereLigne As Integer
Set rngRegion = ActiveCell.CurrentRegion
intDerniereLigne = rngRegion.Rows.Count
If intDerniereLigne > 2 Then rngRegion.Rows(intDerniereLigne).ShowDetail = False
End Sub
Commenter la réponse de laurentmayolle

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.