[VBA] detecter un "group"

iluron

XLDnaute Nouveau
Salut à tous !

En fait je bloque avec les groupes d'une feuille Excel (avec les clics dans Excel c'est : "Data > group and Outline > group").
J'ai consulté l'aide de Microsoft VB sur les mots "group" et "ungroup" mais il explique comment faire des groupes, les dégrouper, mais pas comment les détecter s'ils sont déjà existant, ou alors je n'ai pas mis la main sur la méthode à utiliser.
Or le fichier Excel sur lequel je travail, m'a été donné avec des groupes, il faut donc que je les trouves.

D'avance merci

Nico
 

Modeste

XLDnaute Barbatruc
Re : [VBA] detecter un "group"

Bonjour iluron,

Tu aurais dû poster ton message dans le forum Excel
Pour le reste, ne peux-tu pas simplement détecter les colonnes (ou lignes) qui sont masquées (propriété Hidden)?
 

iluron

XLDnaute Nouveau
Re : [VBA] detecter un "group"

Salut modeste,

oui je m'en suis rendu compte trop tard... j'ai re-posté à cette adresse

sinon pour mon problème, j'ai tester pas mal de chose mais hidden je ne crois pas, aurais tu 2 lignes de code pour que je vois comment tu penses l'utiliser ?

je te met mon code (j'ai essayé de modifier un bout de code trouvé sur le net)

Code:
    Dim Shp As Shape
    Dim ExitLoop As Boolean
    Dim wrkCur As Workbook
    Dim shtcur As Worksheet

    Set wrkCur = ThisWorkbook
    Set shtcur = wrkCur.Worksheets("ENERGY")
    shtcur.Activate
    
    ExitLoop = True
    
    On Error GoTo ErrHandler

    Do While ExitLoop = True
        For Each Shp In ActiveSheet.Shapes
            If Shp.GroupItems.Count > 0 Then
                Shp.Ungroup
            Else
                ExitLoop = False
            End If
        Next
    Loop
ErrHandler:
 

iluron

XLDnaute Nouveau
Re : [VBA] detecter un "group"

Ce code permet d'aller dans l'onglet souhaiter et ensuite de rendre visible toutes les lignes cachés et ensuite supprimer les différents groupes de la page.
Mais je n'arrive pas à récupérer ma position dans le fichier ou encore les lignes concernées par ma fonction...

Code:
    Dim wrkCur As Workbook
    Dim shtcur As Worksheet
    
    Set wrkCur = ThisWorkbook
    Set shtcur = wrkCur.Worksheets("ENERGY")
    shtcur.Activate
    
    With ActiveSheet.UsedRange
    .Rows.EntireRow.Hidden = False
    '.Columns.EntireColumn.Hidden = False
    .Rows.EntireRow.Ungroup
    '.ClearOutline
    End With

si quelqu'un a déjà eu le problème :)
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 292
Membres
103 171
dernier inscrit
clemm