Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Trier par groupe de 2 lignes

7 réponses
Avatar
DENIS
Bonjour à tous,

Comment feriez-vous pour trier un tableau (ex : A5:V50) alors que les
données sont par groupe de 2 lignes + 1 ligne blanche.
Critère de tri, date en colonne G
par ex : en ligne 5, il y a des données, en ligne 6, d'autres données qui
doivent etres triées et rester groupées à la ligne 5 et une ligne blanche en
ligne 7 sépare les prochaines données.
Je ne sais pas si c'est assé clair mais je n'y arrive pas.

Merci
Denis

7 réponses

Avatar
JB
Bonjour,

http://boisgontierjacques.free.fr/fichiers/Tri/TriBlocs3.xls
http://boisgontierjacques.free.fr/fichiers/Tri/jb-trisoustotaux.xls

JB
http://boisgontierjacques.free.fr/

On 29 juin, 11:50, DENIS wrote:
Bonjour à tous,

Comment feriez-vous pour trier un tableau (ex : A5:V50) alors que les
données sont par groupe de 2 lignes + 1 ligne blanche.
Critère de tri, date en colonne G
par ex : en ligne 5, il y a des données, en ligne 6, d'autres données qui
doivent etres triées et rester groupées à la ligne 5 et une ligne b lanche en
ligne 7 sépare les prochaines données.
Je ne sais pas si c'est assé clair mais je n'y arrive pas.

Merci
Denis


Avatar
Daniel
Bonjour.
Dans une colonne supplémentaire, concatène tes arguments de tri dans les
trois lignes en ajooutant 1 pour la 1ere ligne, 2 pour la deuxième et 3 pour
la ligne blanche. Essaie :

Sub Tri3Lignes()
Dim c As Range
For Each c In Range("A1", Range("A65536").End(xlUp))
If (c.Row - 2) / 3 = Int((c.Row - 2) / 3) Then
c.Offset(-1, 1) = c & 1
c.Offset(, 1) = c & 2
c.Offset(1, 1) = c & 3
End If
Next c
End Sub

A condition que les données commencent en ligne 1, que la colonne à trier
soit la colonne A. A modifier en conséquence. Regarde le classeur :
http://cjoint.com/?gDmsdAsZbT

Cordialement.
Daniel

"DENIS" a écrit dans le message de news:

Bonjour à tous,

Comment feriez-vous pour trier un tableau (ex : A5:V50) alors que les
données sont par groupe de 2 lignes + 1 ligne blanche.
Critère de tri, date en colonne G
par ex : en ligne 5, il y a des données, en ligne 6, d'autres données qui
doivent etres triées et rester groupées à la ligne 5 et une ligne blanche
en
ligne 7 sépare les prochaines données.
Je ne sais pas si c'est assé clair mais je n'y arrive pas.

Merci
Denis


Avatar
FFO
Salut Denis
En partant du postulat que pour chaque groupe de lignes à trier aucune
cellule de la colonne A n'est vide
Quelque soit le nombre de lignes à trier et le nombre de lignes vides entre
chaque plage de lignes en partant de la ligne 5 ce code devrait faire :

A = Range("A5").Address
B = Range(A).End(xlDown).Address
Do While Range(A).Row < Range("A65535").End(xlUp).Row
Range(A, B).EntireRow.Select
Selection.Sort Key1:=Range("G1"), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
A = Range(A).End(xlDown).Offset(1, 0).End(xlDown).Address
B = Range(A).End(xlDown).Address
Loop

A = Range("A5").Address à adapter en fonction du départ du tri
Celà te convient il ???
Dis moi !!!


Bonjour à tous,

Comment feriez-vous pour trier un tableau (ex : A5:V50) alors que les
données sont par groupe de 2 lignes + 1 ligne blanche.
Critère de tri, date en colonne G
par ex : en ligne 5, il y a des données, en ligne 6, d'autres données qui
doivent etres triées et rester groupées à la ligne 5 et une ligne blanche en
ligne 7 sépare les prochaines données.
Je ne sais pas si c'est assé clair mais je n'y arrive pas.

Merci
Denis


Avatar
DENIS
Bonjour FFO,

Je viens d'essayer ce matin seulement mais ca ne fonctionne pas.
Ca Beug à partir de "Selection.Sort"
Les données commencent à partir de la ligne 5, par groupe de 2 lignes avec
une ligne sans aucune données entre chaque groupe de 2 lignes.

J'ai essayé les 3 façons que l'on m'a donné et la seconde ne fonctionne pas
et la 1ère fonctionne très bien mais lorsqu'il y a beaucoup de données, les
tris ne se font pas correctement ou il supprime ou ajoute une colonne dans le
tableau.

Merci
Denis



Salut Denis
En partant du postulat que pour chaque groupe de lignes à trier aucune
cellule de la colonne A n'est vide
Quelque soit le nombre de lignes à trier et le nombre de lignes vides entre
chaque plage de lignes en partant de la ligne 5 ce code devrait faire :

A = Range("A5").Address
B = Range(A).End(xlDown).Address
Do While Range(A).Row < Range("A65535").End(xlUp).Row
Range(A, B).EntireRow.Select
Selection.Sort Key1:=Range("G1"), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
A = Range(A).End(xlDown).Offset(1, 0).End(xlDown).Address
B = Range(A).End(xlDown).Address
Loop

A = Range("A5").Address à adapter en fonction du départ du tri
Celà te convient il ???
Dis moi !!!


Bonjour à tous,

Comment feriez-vous pour trier un tableau (ex : A5:V50) alors que les
données sont par groupe de 2 lignes + 1 ligne blanche.
Critère de tri, date en colonne G
par ex : en ligne 5, il y a des données, en ligne 6, d'autres données qui
doivent etres triées et rester groupées à la ligne 5 et une ligne blanche en
ligne 7 sépare les prochaines données.
Je ne sais pas si c'est assé clair mais je n'y arrive pas.

Merci
Denis




Avatar
FFO
Rebonjour DENIS

Lorsque le code Bug où en est le tri
As t'il fonctionné sur différente plage
Manque t'il des plages de lignes à trier
Lesquelles

Merci pour tes réponses


Bonjour FFO,

Je viens d'essayer ce matin seulement mais ca ne fonctionne pas.
Ca Beug à partir de "Selection.Sort"
Les données commencent à partir de la ligne 5, par groupe de 2 lignes avec
une ligne sans aucune données entre chaque groupe de 2 lignes.

J'ai essayé les 3 façons que l'on m'a donné et la seconde ne fonctionne pas
et la 1ère fonctionne très bien mais lorsqu'il y a beaucoup de données, les
tris ne se font pas correctement ou il supprime ou ajoute une colonne dans le
tableau.

Merci
Denis



Salut Denis
En partant du postulat que pour chaque groupe de lignes à trier aucune
cellule de la colonne A n'est vide
Quelque soit le nombre de lignes à trier et le nombre de lignes vides entre
chaque plage de lignes en partant de la ligne 5 ce code devrait faire :

A = Range("A5").Address
B = Range(A).End(xlDown).Address
Do While Range(A).Row < Range("A65535").End(xlUp).Row
Range(A, B).EntireRow.Select
Selection.Sort Key1:=Range("G1"), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
A = Range(A).End(xlDown).Offset(1, 0).End(xlDown).Address
B = Range(A).End(xlDown).Address
Loop

A = Range("A5").Address à adapter en fonction du départ du tri
Celà te convient il ???
Dis moi !!!


Bonjour à tous,

Comment feriez-vous pour trier un tableau (ex : A5:V50) alors que les
données sont par groupe de 2 lignes + 1 ligne blanche.
Critère de tri, date en colonne G
par ex : en ligne 5, il y a des données, en ligne 6, d'autres données qui
doivent etres triées et rester groupées à la ligne 5 et une ligne blanche en
ligne 7 sépare les prochaines données.
Je ne sais pas si c'est assé clair mais je n'y arrive pas.

Merci
Denis






Avatar
DENIS
Bonjour,

Les lignes 6 et 7 sont sélectionnées et des informations ont été recopiées
dans toute la colonne B à partir de B4.
Le reste des infos n'a pas bougé.
J'ai aussi essayé longuement ce code de JB
http://boisgontierjacques.free.fr/fichiers/Tri/TriBlocs3.xls
Tout fonctionne parfaitement sur 2 feuilles et pas du tout sur d'autres
feuilles alors qu'il s'agit du meme tableau avec plus d'information.
Soit le tri ne se fait pas correctement, soit il ne supprime pas le/les
colonnes qu'il ajoute et ca bug aussi au niveau du tri.
Le problème vient donc certainement du contenu de mes tableaux je pense.
A5:V500
par groupe de 2 lignes + 1 ligne blanche qui sépare des autres infos . par
contre les 2ème lignes ne contiennent pas forcemment d'infos, notamment en
colonnes A, B, C.
Lorsque je lance un tri sur les colonnes A ou B, pas de problème, sur la
colonne E, ca plante, colonne F (texte, infos sur 2 lignes), le tri ne se
fait pas dans l'ordre (chiffres), colonne R, aléatoirement c'est bon (dates)
dans l'ordre ou pas du tout.
Lorsque le code s'arrete, il a ajouté 1 à 3 colonnes après B:B

Merci
Denis





Rebonjour DENIS

Lorsque le code Bug où en est le tri
As t'il fonctionné sur différente plage
Manque t'il des plages de lignes à trier
Lesquelles

Merci pour tes réponses


Bonjour FFO,

Je viens d'essayer ce matin seulement mais ca ne fonctionne pas.
Ca Beug à partir de "Selection.Sort"
Les données commencent à partir de la ligne 5, par groupe de 2 lignes avec
une ligne sans aucune données entre chaque groupe de 2 lignes.

J'ai essayé les 3 façons que l'on m'a donné et la seconde ne fonctionne pas
et la 1ère fonctionne très bien mais lorsqu'il y a beaucoup de données, les
tris ne se font pas correctement ou il supprime ou ajoute une colonne dans le
tableau.

Merci
Denis



Salut Denis
En partant du postulat que pour chaque groupe de lignes à trier aucune
cellule de la colonne A n'est vide
Quelque soit le nombre de lignes à trier et le nombre de lignes vides entre
chaque plage de lignes en partant de la ligne 5 ce code devrait faire :

A = Range("A5").Address
B = Range(A).End(xlDown).Address
Do While Range(A).Row < Range("A65535").End(xlUp).Row
Range(A, B).EntireRow.Select
Selection.Sort Key1:=Range("G1"), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
A = Range(A).End(xlDown).Offset(1, 0).End(xlDown).Address
B = Range(A).End(xlDown).Address
Loop

A = Range("A5").Address à adapter en fonction du départ du tri
Celà te convient il ???
Dis moi !!!


Bonjour à tous,

Comment feriez-vous pour trier un tableau (ex : A5:V50) alors que les
données sont par groupe de 2 lignes + 1 ligne blanche.
Critère de tri, date en colonne G
par ex : en ligne 5, il y a des données, en ligne 6, d'autres données qui
doivent etres triées et rester groupées à la ligne 5 et une ligne blanche en
ligne 7 sépare les prochaines données.
Je ne sais pas si c'est assé clair mais je n'y arrive pas.

Merci
Denis








Avatar
FFO
Rebonjours DENIS
L'idéal serait de nous fournir ton fichier pour que l'on puisse l'étudier

Le peux tu ????




Bonjour,

Les lignes 6 et 7 sont sélectionnées et des informations ont été recopiées
dans toute la colonne B à partir de B4.
Le reste des infos n'a pas bougé.
J'ai aussi essayé longuement ce code de JB
http://boisgontierjacques.free.fr/fichiers/Tri/TriBlocs3.xls
Tout fonctionne parfaitement sur 2 feuilles et pas du tout sur d'autres
feuilles alors qu'il s'agit du meme tableau avec plus d'information.
Soit le tri ne se fait pas correctement, soit il ne supprime pas le/les
colonnes qu'il ajoute et ca bug aussi au niveau du tri.
Le problème vient donc certainement du contenu de mes tableaux je pense.
A5:V500
par groupe de 2 lignes + 1 ligne blanche qui sépare des autres infos . par
contre les 2ème lignes ne contiennent pas forcemment d'infos, notamment en
colonnes A, B, C.
Lorsque je lance un tri sur les colonnes A ou B, pas de problème, sur la
colonne E, ca plante, colonne F (texte, infos sur 2 lignes), le tri ne se
fait pas dans l'ordre (chiffres), colonne R, aléatoirement c'est bon (dates)
dans l'ordre ou pas du tout.
Lorsque le code s'arrete, il a ajouté 1 à 3 colonnes après B:B

Merci
Denis





Rebonjour DENIS

Lorsque le code Bug où en est le tri
As t'il fonctionné sur différente plage
Manque t'il des plages de lignes à trier
Lesquelles

Merci pour tes réponses


Bonjour FFO,

Je viens d'essayer ce matin seulement mais ca ne fonctionne pas.
Ca Beug à partir de "Selection.Sort"
Les données commencent à partir de la ligne 5, par groupe de 2 lignes avec
une ligne sans aucune données entre chaque groupe de 2 lignes.

J'ai essayé les 3 façons que l'on m'a donné et la seconde ne fonctionne pas
et la 1ère fonctionne très bien mais lorsqu'il y a beaucoup de données, les
tris ne se font pas correctement ou il supprime ou ajoute une colonne dans le
tableau.

Merci
Denis



Salut Denis
En partant du postulat que pour chaque groupe de lignes à trier aucune
cellule de la colonne A n'est vide
Quelque soit le nombre de lignes à trier et le nombre de lignes vides entre
chaque plage de lignes en partant de la ligne 5 ce code devrait faire :

A = Range("A5").Address
B = Range(A).End(xlDown).Address
Do While Range(A).Row < Range("A65535").End(xlUp).Row
Range(A, B).EntireRow.Select
Selection.Sort Key1:=Range("G1"), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
A = Range(A).End(xlDown).Offset(1, 0).End(xlDown).Address
B = Range(A).End(xlDown).Address
Loop

A = Range("A5").Address à adapter en fonction du départ du tri
Celà te convient il ???
Dis moi !!!


Bonjour à tous,

Comment feriez-vous pour trier un tableau (ex : A5:V50) alors que les
données sont par groupe de 2 lignes + 1 ligne blanche.
Critère de tri, date en colonne G
par ex : en ligne 5, il y a des données, en ligne 6, d'autres données qui
doivent etres triées et rester groupées à la ligne 5 et une ligne blanche en
ligne 7 sépare les prochaines données.
Je ne sais pas si c'est assé clair mais je n'y arrive pas.

Merci
Denis