VBA : Ouvrir une seule ligne groupée

Y compris Power BI, Power Query et toute autre question en lien avec Excel
3
3l00li
Nouveau venu
Nouveau venu
Messages : 1
Inscrit le : 29 avril 2019
Version d'Excel : 2018 FR

Message par 3l00li » 29 avril 2019, 13:43

Bonjour à tous !

Je souhaite faire une Macro EXCEL, mais je n'arrive pas à effectuer la tâche suivante :
J'ai regroupé des lignes (J'ai en tout fait 7 regroupements).
Je souhaite que ma macro n'ouvre qu'un seul regroupement, ex : regroupement de la ligne 8 uniquement.

Voici le code pour ouvrir tous les regroupements d'une feuille :
ActiveSheet.Outline.ShowLevels RowLevels:=2
J'aimerai donc maintenant que vous m'aidiez à ouvrir uniquement le regroupement de la ligne n°8 par exemple !

Merci à tous,

Olivier
Avatar du membre
James007
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'007
Appréciations reçues : 414
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 29 avril 2019, 14:58

Bonjour,

Tu peux tester l'instruction suivante:
Range("A8").EntireRow.ShowDetail = True
En espèrant que cela t'aide
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
Avatar du membre
ric
Membre impliqué
Membre impliqué
Messages : 2'042
Appréciations reçues : 172
Inscrit le : 29 mai 2018
Version d'Excel : 365 fr

Message par ric » 29 avril 2019, 14:59

Bonjour,

Si j'ai bien compris, il faut "Afficher le détail" du groupe contenant la ligne 8 ...
Le code que tu as soumis est bon ...
Il suffit de sélectionner une cellule de cette ligne avant ton code ...
  ActiveSheet.Cells(8, 1).Select
  ActiveSheet.Outline.ShowLevels RowLevels:=1 ' masquer détail du groupe de lignes
  ' ou
  ActiveSheet.Outline.ShowLevels RowLevels:=2 ' afficher détail du groupe de lignes




ric
Un bon dépanneur : la touche F8 pour faire un Pas-à-Pas sur le code. :mrgreen:
Avatar du membre
ric
Membre impliqué
Membre impliqué
Messages : 2'042
Appréciations reçues : 172
Inscrit le : 29 mai 2018
Version d'Excel : 365 fr

Message par ric » 29 avril 2019, 15:02

Bonjour à tous,

Le code de James007 est plus intéressant, non besoin de sélectionner la ligne. :P




ric
Un bon dépanneur : la touche F8 pour faire un Pas-à-Pas sur le code. :mrgreen:
Avatar du membre
James007
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'007
Appréciations reçues : 414
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 29 avril 2019, 15:51

Salut ric,

Effectivement tu n'as pas besoin de sélectionner la ligne ...

Mais le plus important se situe ailleurs ... et en faisant le test de ton côté ... tu pourras le constater ...

Lorsque tu as plusieurs regroupements dans la même feuille:

1. L'instruction : ActiveSheet.Outline.ShowLevels RowLevels:=2 affecte l'ensemble du Niveau 2

alors que le problème de 3l00li est d'intervenir au niveau inférieur : celui du Détail ...

2. L'instruction : Range("A8").EntireRow.ShowDetail = True permet de descendre au niveau inférieur

J'espère que cette explication n'est pas trop confuse ... :wink:
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message