grouper des lignes

Le
joseph84
Bonjour tout le monde,

je voudrais regrouper des lignes:

ex:

A B
1234 papa
1234 mama
4321 frère
4321 Soeur

après la macros

A B
+ 1234 papa
+ 4321 frère

le problème que j'arrive pas a grouper les lignes qui ont le même
numeros de la colonne A


Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #23674221
Bonjour,
Clique sur la ligne "mama" et sur "grouper"; fais de même sur la ligne
"soeur".
Cordialement.
Daniel


Bonjour tout le monde,

je voudrais regrouper des lignes:

ex:

A B
1234 papa
1234 mama
4321 frère
4321 Soeur

après la macros

A B
+ 1234 papa
+ 4321 frère

le problème que j'arrive pas a grouper les lignes qui ont le même
numeros de la colonne A


Merci
joseph84
Le #23674571
Merci pour votre réponse, mais je voudrais automatiser tout ca avec
une macro
DanielCo
Le #23674671
Sub test2()
Dim c As Range, Res As Integer
Res = 2
For Each c In Range([A1], Cells(Rows.Count, 1).End(xlUp))
If c <> c.Offset(1) Then
Range("A" & Res & ":A" & c.Row).EntireRow.Group
Res = c.Row + 2
End If
Next c
End Sub

Daniel


Merci pour votre réponse, mais je voudrais automatiser tout ca avec
une macro
michel ou sam
Le #23674701
Bonjour Daniel,
j'étais parti avec des do- while mais ta solution est plus élégante.

par contre il y a un pb de limite final
en faisant un test avec
1234 papa
1234 mama
3421 frere
3421 s½ur
3421 oncle
3564 tata

le dernier groupe 3421 prend les 2 lignes suivantes (la tata + une ligne)

Michel

"DanielCo" j2uc1k$lc3$
Sub test2()
Dim c As Range, Res As Integer
Res = 2
For Each c In Range([A1], Cells(Rows.Count, 1).End(xlUp))
If c <> c.Offset(1) Then
Range("A" & Res & ":A" & c.Row).EntireRow.Group
Res = c.Row + 2
End If
Next c
End Sub

Daniel


Merci pour votre réponse, mais je voudrais automatiser tout ca avec
une macro




joseph84
Le #23674691
merci beaucoup pour ton aide.
mais c'est pas toujours avec une paire de 2 c'est variable
DanielCo
Le #23675991
Exact, ça m'a réveillé cette nuit, et aussi partout où il n'y a qu'un
item :

Sub test3()
Dim c As Range, Res As Integer
Res = 2
For Each c In Range([A1], Cells(Rows.Count, 1).End(xlUp))
If c <> c.Offset(1) Then
If c.Row - Res >= 0 Then
Range("A" & Res & ":A" & c.Row).EntireRow.Group
End If
Res = c.Row + 2
End If
Next c
End Sub

Daniel

michel ou sam a écrit
Bonjour Daniel,
j'étais parti avec des do- while mais ta solution est plus élégante.

par contre il y a un pb de limite final
en faisant un test avec
1234 papa
1234 mama
3421 frere
3421 s½ur
3421 oncle
3564 tata

le dernier groupe 3421 prend les 2 lignes suivantes (la tata + une ligne)

Michel

"DanielCo" j2uc1k$lc3$
Sub test2()
Dim c As Range, Res As Integer
Res = 2
For Each c In Range([A1], Cells(Rows.Count, 1).End(xlUp))
If c <> c.Offset(1) Then
Range("A" & Res & ":A" & c.Row).EntireRow.Group
Res = c.Row + 2
End If
Next c
End Sub

Daniel


Merci pour votre réponse, mais je voudrais automatiser tout ca avec
une macro




DanielCo
Le #23675981
Bonjour,
C'es censé le faire avec un nombre variable de lignes. Les items isolés
sont traités dans le code que je viens de poster en réponse à michel ou
sam.

Daniel

joseph84 a écrit
merci beaucoup pour ton aide.
mais c'est pas toujours avec une paire de 2 c'est variable
joseph84
Le #23677761
Merci beaucoup tout fonctionne à merveille rien à dire encore merci à
vous tous :)
Publicité
Poster une réponse
Anonyme