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

Trier Tableau

5 réponses
Avatar
jean-luc Guitard
bonjour,

voici mon problème dans un tableau comme ci dessous:

Plant Project Name Projet Level Description Line Volume etc
Bombay 1000
Bombay 20000
Bombay 15000
Otard 5000
Otard 5000
Otard 5000
Otard 5000
Noblesse 4500
Hope 6350
Hope 15230
Le tableau va de la cellule A1 à Z
Les Projet Name sont dans la colonne D
Le volume est dans la colonne Z
Je voudrais pouvoir trier les lignes par ordre décroissant sur le volume et par projet Name
trier les bombay(3),les Otard (4), les Noblesse (1) et les Hope(2)
le tableau comprend actuellement 400 lignes de saisie
je sais pas faire
merci a ceux qui savent

5 réponses

Avatar
isabelle
bonjour jean-luc,

en supposant que la ligne 1 soit une ligne de titre donc non inclue dans le tri,

Sub MonTri()
Dim i As Integer, x As Integer
x = Range("D65536").End(xlUp).Row
Rows("2:" & x).Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Set Db = Range("D2")
For i = 3 To x + 1
If Range("D" & i) <> [Db] Then
Rows(Db.Row & ":" & i - 1).Sort Key1:=Range("Z" & Db.Row), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Set Db = Range("D" & i)
End If
Next
End Sub

isabelle



Le 2011-01-21 10:47, jean-luc Guitard a écrit :
bonjour,

voici mon problème dans un tableau comme ci dessous:

Plant Project Name Projet Level Description Line Volume etc
Bombay 1000
Bombay 20000
Bombay 15000
Otard 5000
Otard 5000
Otard 5000
Otard 5000
Noblesse 4500
Hope 6350
Hope 15230
Le tableau va de la cellule A1 à Z
Les Projet Name sont dans la colonne D
Le volume est dans la colonne Z
Je voudrais pouvoir trier les lignes par ordre décroissant sur le volume
et par projet Name
trier les bombay(3),les Otard (4), les Noblesse (1) et les Hope(2)
le tableau comprend actuellement 400 lignes de saisie
je sais pas faire
merci a ceux qui savent
Avatar
jean-luc Guitard
Bonjour Isabelle,

Je me suis certainement mal expliqué
Dans la colonne D j'ai plusieurs Projet certains se répète plusieurs fois
Je peux avoir Bombay 6 fois, puis au dessous 1 fois Otard, puis au dessous 4 fois Martini etc...
Dans la colonne Z j'ai des volumes par rapport au projet 450 , 750, 1000 etc
Mon tableau va de la colonne A1 a la colonne Z
Je voudrais tout en gardant le même tableau que les différents projets s'il sont identiques soit classé de façon
décroissante
(du plus grand au plus petit) en fonction du volume de la colonne Z
Ex: Pour les données ci dessus
Bombay 500
Bombay 450
Bombay 300
Bombay 250
Bombay 150
Bombay 100
Otard 600
Martini 560
Martini 420
Martini 120
Martini 100
la ligne 1 est effectivement le titre
est ce possible
merci


"isabelle" a écrit dans le message de groupe de discussion : ihce7q$2ub$

bonjour jean-luc,

en supposant que la ligne 1 soit une ligne de titre donc non inclue dans le tri,

Sub MonTri()
Dim i As Integer, x As Integer
x = Range("D65536").End(xlUp).Row
Rows("2:" & x).Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Set Db = Range("D2")
For i = 3 To x + 1
If Range("D" & i) <> [Db] Then
Rows(Db.Row & ":" & i - 1).Sort Key1:=Range("Z" & Db.Row), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Set Db = Range("D" & i)
End If
Next
End Sub

isabelle



Le 2011-01-21 10:47, jean-luc Guitard a écrit :
bonjour,

voici mon problème dans un tableau comme ci dessous:

Plant Project Name Projet Level Description Line Volume etc
Bombay 1000
Bombay 20000
Bombay 15000
Otard 5000
Otard 5000
Otard 5000
Otard 5000
Noblesse 4500
Hope 6350
Hope 15230
Le tableau va de la cellule A1 à Z
Les Projet Name sont dans la colonne D
Le volume est dans la colonne Z
Je voudrais pouvoir trier les lignes par ordre décroissant sur le volume
et par projet Name
trier les bombay(3),les Otard (4), les Noblesse (1) et les Hope(2)
le tableau comprend actuellement 400 lignes de saisie
je sais pas faire
merci a ceux qui savent
Avatar
Frederic LE GUEN
On Jan 22, 12:16 pm, "jean-luc Guitard" wrote:
Bonjour Isabelle,

Je me suis certainement mal expliqu
Dans la colonne D j'ai plusieurs Projet certains se r p te plusieurs fois
Je peux avoir Bombay 6 fois,  puis au dessous 1 fois Otard,  puis au dessous  4 fois Martini etc...
Dans la colonne Z j'ai des volumes par rapport au projet 450 , 750, 1000 etc
Mon tableau va de la colonne A1 a la colonne Z
Je voudrais tout en gardant le m me tableau  que les diff rents projets s'il sont identiques soit class de fa on
d croissante
(du plus grand au plus petit) en fonction du volume de la colonne Z
Ex: Pour les donn es ci dessus
Bombay     500
Bombay     450
Bombay     300
Bombay     250
Bombay     150
Bombay    100
Otard        600
Martini     560
Martini     420
Martini     120
Martini     100
la ligne 1 est effectivement le titre
est ce possible
merci

"isabelle"  a crit dans le message de groupe de discussion : ihce7q$2u.

bonjour jean-luc,

en supposant que la ligne 1 soit une ligne de titre donc non inclue dans le tri,

Sub MonTri()
Dim i As Integer, x As Integer
x = Range("D65536").End(xlUp).Row
Rows("2:" & x).Sort Key1:=Range("D2"), Order1:=xlAscending, Header: =xlGuess, _
         OrderCustom:=1, MatchCase:úlse, Orientation:=x lTopToBottom, DataOption1:=xlSortNormal
Set Db = Range("D2")
For i = 3 To x + 1
   If Range("D" & i) <> [Db] Then
    Rows(Db.Row & ":" & i - 1).Sort Key1:=Range("Z" & Db.Row), Orde r1:=xlAscending, Header:=xlGuess, _
     OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBo ttom, DataOption1:=xlSortNormal
    Set Db = Range("D" & i)
   End If
Next
End Sub

isabelle

Le 2011-01-21 10:47, jean-luc Guitard a crit :

> bonjour,

> voici mon probl me dans un tableau comme ci dessous:

> Plant Project Name Projet Level Description Line Volume etc
> Bombay 1000
> Bombay 20000
> Bombay 15000
> Otard 5000
> Otard 5000
> Otard 5000
> Otard 5000
> Noblesse 4500
> Hope 6350
> Hope 15230
> Le tableau va de la cellule A1 Z
> Les Projet Name sont dans la colonne D
> Le volume est dans la colonne Z
> Je voudrais pouvoir trier les lignes par ordre d croissant sur le volum e
> et par projet Name
> trier les bombay(3),les Otard (4), les Noblesse (1) et les Hope(2)
> le tableau comprend actuellement 400 lignes de saisie
> je sais pas faire
> merci a ceux qui savent



Sans Macro, tu peux faire ça très simplement
Tu dois pour cela créer ta propre liste de valeur (Excel 2007 ou
2010 : Bouton Office, Options Excel, Bouton Liste Personnalisées)
Dans cette liste, tu rentres les données que tu veux et DANS L'ORDRE
de ton choix
Ensuite quand tu fais un tri, tu choisis dans le dernier menu
déroulant : Listes personnalisées et tu sélectionnes ta liste.
Et voila, tu arrives à trier ta colonne D en respectant l'ordre que tu
as établis

Fred
MVP Excel
Avatar
isabelle
il n'y a qu'un mot à changer,

Sub MonTri()
Dim i As Integer, x As Integer
x = Range("D65536").End(xlUp).Row
Rows("2:" & x).Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Set Db = Range("D2")
For i = 3 To x + 1
If Range("D" & i) <> [Db] Then
Rows(Db.Row & ":" & i - 1).Sort Key1:=Range("Z" & Db.Row), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Set Db = Range("D" & i)
End If
Next
End Sub

isabelle



Le 2011-01-22 06:16, jean-luc Guitard a écrit :
Bonjour Isabelle,

Je me suis certainement mal expliqué
Dans la colonne D j'ai plusieurs Projet certains se répète plusieurs fois
Je peux avoir Bombay 6 fois, puis au dessous 1 fois Otard, puis au
dessous 4 fois Martini etc...
Dans la colonne Z j'ai des volumes par rapport au projet 450 , 750, 1000
etc
Mon tableau va de la colonne A1 a la colonne Z
Je voudrais tout en gardant le même tableau que les différents projets
s'il sont identiques soit classé de façon décroissante
(du plus grand au plus petit) en fonction du volume de la colonne Z
Ex: Pour les données ci dessus
Bombay 500
Bombay 450
Bombay 300
Bombay 250
Bombay 150
Bombay 100
Otard 600
Martini 560
Martini 420
Martini 120
Martini 100
la ligne 1 est effectivement le titre
est ce possible
merci


"isabelle" a écrit dans le message de groupe de discussion :
ihce7q$2ub$

bonjour jean-luc,

en supposant que la ligne 1 soit une ligne de titre donc non inclue dans
le tri,

Sub MonTri()
Dim i As Integer, x As Integer
x = Range("D65536").End(xlUp).Row
Rows("2:" & x).Sort Key1:=Range("D2"), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom,
DataOption1:=xlSortNormal
Set Db = Range("D2")
For i = 3 To x + 1
If Range("D" & i) <> [Db] Then
Rows(Db.Row & ":" & i - 1).Sort Key1:=Range("Z" & Db.Row),
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom,
DataOption1:=xlSortNormal
Set Db = Range("D" & i)
End If
Next
End Sub

isabelle



Le 2011-01-21 10:47, jean-luc Guitard a écrit :
bonjour,

voici mon problème dans un tableau comme ci dessous:

Plant Project Name Projet Level Description Line Volume etc
Bombay 1000
Bombay 20000
Bombay 15000
Otard 5000
Otard 5000
Otard 5000
Otard 5000
Noblesse 4500
Hope 6350
Hope 15230
Le tableau va de la cellule A1 à Z
Les Projet Name sont dans la colonne D
Le volume est dans la colonne Z
Je voudrais pouvoir trier les lignes par ordre décroissant sur le volume
et par projet Name
trier les bombay(3),les Otard (4), les Noblesse (1) et les Hope(2)
le tableau comprend actuellement 400 lignes de saisie
je sais pas faire
merci a ceux qui savent



Avatar
jean-luc Guitard
Merci mille fois à isabelle et Fréderic


"isabelle" a écrit dans le message de groupe de discussion : ihegt0$tgl$

il n'y a qu'un mot à changer,

Sub MonTri()
Dim i As Integer, x As Integer
x = Range("D65536").End(xlUp).Row
Rows("2:" & x).Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Set Db = Range("D2")
For i = 3 To x + 1
If Range("D" & i) <> [Db] Then
Rows(Db.Row & ":" & i - 1).Sort Key1:=Range("Z" & Db.Row), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Set Db = Range("D" & i)
End If
Next
End Sub

isabelle



Le 2011-01-22 06:16, jean-luc Guitard a écrit :
Bonjour Isabelle,

Je me suis certainement mal expliqué
Dans la colonne D j'ai plusieurs Projet certains se répète plusieurs fois
Je peux avoir Bombay 6 fois, puis au dessous 1 fois Otard, puis au
dessous 4 fois Martini etc...
Dans la colonne Z j'ai des volumes par rapport au projet 450 , 750, 1000
etc
Mon tableau va de la colonne A1 a la colonne Z
Je voudrais tout en gardant le même tableau que les différents projets
s'il sont identiques soit classé de façon décroissante
(du plus grand au plus petit) en fonction du volume de la colonne Z
Ex: Pour les données ci dessus
Bombay 500
Bombay 450
Bombay 300
Bombay 250
Bombay 150
Bombay 100
Otard 600
Martini 560
Martini 420
Martini 120
Martini 100
la ligne 1 est effectivement le titre
est ce possible
merci


"isabelle" a écrit dans le message de groupe de discussion :
ihce7q$2ub$

bonjour jean-luc,

en supposant que la ligne 1 soit une ligne de titre donc non inclue dans
le tri,

Sub MonTri()
Dim i As Integer, x As Integer
x = Range("D65536").End(xlUp).Row
Rows("2:" & x).Sort Key1:=Range("D2"), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom,
DataOption1:=xlSortNormal
Set Db = Range("D2")
For i = 3 To x + 1
If Range("D" & i) <> [Db] Then
Rows(Db.Row & ":" & i - 1).Sort Key1:=Range("Z" & Db.Row),
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom,
DataOption1:=xlSortNormal
Set Db = Range("D" & i)
End If
Next
End Sub

isabelle



Le 2011-01-21 10:47, jean-luc Guitard a écrit :
bonjour,

voici mon problème dans un tableau comme ci dessous:

Plant Project Name Projet Level Description Line Volume etc
Bombay 1000
Bombay 20000
Bombay 15000
Otard 5000
Otard 5000
Otard 5000
Otard 5000
Noblesse 4500
Hope 6350
Hope 15230
Le tableau va de la cellule A1 à Z
Les Projet Name sont dans la colonne D
Le volume est dans la colonne Z
Je voudrais pouvoir trier les lignes par ordre décroissant sur le volume
et par projet Name
trier les bombay(3),les Otard (4), les Noblesse (1) et les Hope(2)
le tableau comprend actuellement 400 lignes de saisie
je sais pas faire
merci a ceux qui savent