Grouper des lignes en boucle

Fermé
Stan - 25 mai 2016 à 19:42
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 30 mai 2016 à 03:42
Bonjour à tous,

Je vous situe le contexte :) Sur Excel, j'ai des tableaux les uns en dessous des autres, avec le nom du client correspondant sur la lignes juste au dessus.

Je souhaites "grouper" les lignes des tableaux pour ne plus que voir une liste de nom dont je pourrais ouvrir sa "fiche" (=son tableau) à mon gré. Or il y a pleins de tableaux et j'aurais souhaité créer une macro pour sélectionner les lignes et les grouper automatiquement en boucle. En sachant que les tableaux et l'espace entre eux sont identiques partout. Voilà ma formule de base ... :

Range(ActiveCell, ActiveCell.Offset(10, 0)).EntireRow.Rows.Group
ActiveCell.Offset(11, 0).Select
Range(ActiveCell, ActiveCell.Offset(10, 0)).EntireRow.Rows.Group

Merci d'avance pour votre aide et votre soutien ;)

1 réponse

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
30 mai 2016 à 03:42
Bonjour
On aurait bien aimer voir la disposition des tableaux pour que l'on puisse fournir une réponse adaptée. En attendant, voici une proposition à paramétrer selon vos besoins.
Sub Grouper()
    Application.ScreenUpdating = False
    Dim Nblig As Long 'nombre de Lignes d'un tableau
    Dim Decalage As Long 'Décalage entre chaque tableau
    
    'mettre ici vos propres paramètres
    Nblig = 10
    Decalage = 12
    [A2].Select '1ère ligne du tableau à regrouper, juste en dessous de celle du Nom du premier client
    
    Do While ActiveCell.Offset(-1, 0).Value <> "" 'Boucler tant que la ligne du nom du client n'est pas vide
        Range(ActiveCell, ActiveCell.Offset(Nblig, 0)).EntireRow.Rows.Group
        ActiveCell.Offset(Decalage, 0).Select
    Loop
End Sub

Cdlt
0