Grouper des lignes en boucle
Stan
-
Frenchie83 Messages postés 2254 Statut Membre -
Frenchie83 Messages postés 2254 Statut Membre -
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 ;)
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
-
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