Grouper des lignes en boucle

Bonjour à tous,

Je vous situe le contexte. J'ai des tableaux (environ 300) les uns en dessous des autres, avec le nom du client correspondant sur la ligne juste au dessus.

Je souhaite "grouper" les lignes des tableaux pour ne voir plus qu'une liste de nom client 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

j'ai beaucoup de mal à suivre la logique du VBA ... ^^

Merci d'avance pour votre aide et votre soutien

Bonjour et bienvenue sur le forum

Sans ton fichier, il sera difficile de t'aider.

Bye !

Bonjour stoons,

Est-ce que tu peux envoyer un fichier exemple avec 3 ou 4 tableaux avec des données bidons ?

Ça permettra de mieux adapter la solution.

Re bonjour,

Désolé, je ne me suis même pas présenté. Merci de m'accueillir sur le Forum J'utilise Excel pour mon stage en entreprise, et vous savez que certaines taches peuvent être répétitive, donc perte de temps.. ^^ Je sais utiliser les fonctions de bases mais le VBA ... je suis nul ^^

Désolé de demander des conseils avant d'en donner .. Dès que je serais utile je fonce !!

Voilà mon exemple (j'ai en réalité plusieurs centaines de tableaux) :

Je souhaiterais grouper en continue les lignes 4 à 42 puis 45 à 83 puis 86 à 124 etc .... en plaçant mon curseur de départ sur une case type A4.

Voilà ce que j'ai essayé de faire (Sans grand succès) :

Range(ActiveCell, ActiveCell.Offset(38, 0)).EntireRow.Rows.Group

ActiveCell.Offset(41,0)

Range(ActiveCell, ActiveCell.Offset(38, 0)).EntireRow.Rows.Group

Merci de vos réponses et bonne journée

20tps.xlsx (17.64 Ko)

Un essai à tester. Te convient-il ?

Bye !

56tps-v1.xlsm (26.37 Ko)

Woaaa, c'est de toute beauté !!! C'est vraiment géniale, je te remerci beaucoup

Je n'y ai rien compris, je suis assez impressionner de la formule. J'espère pouvoir comprendre un jour ...

Et pourquoi ma formule, si je la recopiait pleins de fois, ne marchait pas ? (Si tu as le temps, je ne veux pas trop en demander hein)

Range(ActiveCell, ActiveCell.Offset(38, 0)).EntireRow.Rows.Group "mon curseur est positionné sur A4 donc je sélectionne les lignes de A4 jusqu'à A42 et les groupes"

ActiveCell.Offset(41,0) "Je décale ma cellule active de A4 à A45"

Range(ActiveCell, ActiveCell.Offset(38, 0)).EntireRow.Rows.Group "Je sélectionne de A45 à A83 etc... etc..."

Encore un grand merci, à très vite

Stoons a écrit :

Et pourquoi ma formule, si je la recopiait pleins de fois, ne marchait pas ?

Ton curseur doit être positionné sur une cellule de la ligne A3 (et non pas A4)

Et tes instructions successives sont alors :

    Range(ActiveCell, ActiveCell.Offset(39, 0)).EntireRow.Rows.Group
    Range(ActiveCell.Offset(41, 0), ActiveCell.Offset(80, 0)).EntireRow.Rows.Group
    Range(ActiveCell.Offset(82, 0), ActiveCell.Offset(121, 0)).EntireRow.Rows.Group
    ...

car pour chaque nouveau groupe, il faut décaler de 41 lignes le début et la fin de la plage.

OK ?

Bye !

Gmb,

Ok oui j'ai pigé !

Je pensais qu'en étant placer sur "A3", si je faisais [ActiveCell.Offset(41,0).Select] ma cellule active serait donc A44 et qu'en réécrivant [Range(ActiveCell, ActiveCell.Offset(39, 0)).EntireRow.Rows.Group] cela me sélectionnerai et grouperai les cellules du tableau suivant ...

Mais Bref. Il ne me reste qu'à m'initier sur le FOrum

Encore merci de la solution, c'est top.

A plus

Rechercher des sujets similaires à "grouper lignes boucle"