Le code du tri est juste, seulement il n'accepte pas plus de trois clés, pourtant depuis le ruban Données > Tri, on pourra ajouter plus de trois c lés !!!?
J'ai supprimé la dernière clé, et ça fonctionne !
' Tri With Sheets("BDD").Range("A1:K" & Sheets("BDD").Range("A65536").End(xlU p).Row) .Sort Key1:=.Item(1, 4), Order1:=xlAscending, _ Key2:=.Item(1, 1), Order2:=xlAscending, _ Key3:=.Item(1, 2), Order3:=xlAscending, _ Header:=xlGuess End With
Re,
Le code du tri est juste, seulement il n'accepte pas plus de trois clés, pourtant depuis le ruban Données > Tri, on pourra ajouter plus de trois c lés !!!?
J'ai supprimé la dernière clé, et ça fonctionne !
' Tri
With Sheets("BDD").Range("A1:K" & Sheets("BDD").Range("A65536").End(xlU p).Row)
.Sort Key1:=.Item(1, 4), Order1:=xlAscending, _
Key2:=.Item(1, 1), Order2:=xlAscending, _
Key3:=.Item(1, 2), Order3:=xlAscending, _
Header:=xlGuess
End With
Le code du tri est juste, seulement il n'accepte pas plus de trois clés, pourtant depuis le ruban Données > Tri, on pourra ajouter plus de trois c lés !!!?
J'ai supprimé la dernière clé, et ça fonctionne !
' Tri With Sheets("BDD").Range("A1:K" & Sheets("BDD").Range("A65536").End(xlU p).Row) .Sort Key1:=.Item(1, 4), Order1:=xlAscending, _ Key2:=.Item(1, 1), Order2:=xlAscending, _ Key3:=.Item(1, 2), Order3:=xlAscending, _ Header:=xlGuess End With
Jacky
Re... Si tu veux absolument faire le tri sur 4 colonnes par vba il y a ceci '----------- Sub Tri() Dim ModeTri(), ColTri(), I As Long With Sheets("BDD") ModeTri = Array(1, 1, 1, 2) ' 1= xlAscending 2=xlDescending ColTri = Array(4, 1, 2, 5) ' les colonnes D, A, B, E For I = 0 To 3 .Columns(ColTri(I)).Sort Key1:=.Cells(2, ColTri(I)), Order1:=ModeTri(I), Header:=xlYes Next End With End Sub '---------------
-- Salutations JJ
"Apitos" a écrit dans le message de news:
Re,
Le code du tri est juste, seulement il n'accepte pas plus de trois clés, pourtant depuis le ruban Données > Tri, on pourra ajouter plus de trois clés !!!?
J'ai supprimé la dernière clé, et ça fonctionne !
' Tri With Sheets("BDD").Range("A1:K" & Sheets("BDD").Range("A65536").End(xlUp).Row) .Sort Key1:=.Item(1, 4), Order1:=xlAscending, _ Key2:=.Item(1, 1), Order2:=xlAscending, _ Key3:=.Item(1, 2), Order3:=xlAscending, _ Header:=xlGuess End With
Re...
Si tu veux absolument faire le tri sur 4 colonnes par vba
il y a ceci
'-----------
Sub Tri()
Dim ModeTri(), ColTri(), I As Long
With Sheets("BDD")
ModeTri = Array(1, 1, 1, 2) ' 1= xlAscending 2=xlDescending
ColTri = Array(4, 1, 2, 5) ' les colonnes D, A, B, E
For I = 0 To 3
.Columns(ColTri(I)).Sort Key1:=.Cells(2, ColTri(I)), Order1:=ModeTri(I), Header:=xlYes
Next
End With
End Sub
'---------------
--
Salutations
JJ
"Apitos" <apitos@gmail.com> a écrit dans le message de news:
c5f746cd-e75e-4d72-89ea-b8c702e9f135@googlegroups.com...
Re,
Le code du tri est juste, seulement il n'accepte pas plus de trois clés, pourtant depuis le ruban Données >
Tri, on pourra ajouter plus de trois clés !!!?
J'ai supprimé la dernière clé, et ça fonctionne !
' Tri
With Sheets("BDD").Range("A1:K" & Sheets("BDD").Range("A65536").End(xlUp).Row)
.Sort Key1:=.Item(1, 4), Order1:=xlAscending, _
Key2:=.Item(1, 1), Order2:=xlAscending, _
Key3:=.Item(1, 2), Order3:=xlAscending, _
Header:=xlGuess
End With
Re... Si tu veux absolument faire le tri sur 4 colonnes par vba il y a ceci '----------- Sub Tri() Dim ModeTri(), ColTri(), I As Long With Sheets("BDD") ModeTri = Array(1, 1, 1, 2) ' 1= xlAscending 2=xlDescending ColTri = Array(4, 1, 2, 5) ' les colonnes D, A, B, E For I = 0 To 3 .Columns(ColTri(I)).Sort Key1:=.Cells(2, ColTri(I)), Order1:=ModeTri(I), Header:=xlYes Next End With End Sub '---------------
-- Salutations JJ
"Apitos" a écrit dans le message de news:
Re,
Le code du tri est juste, seulement il n'accepte pas plus de trois clés, pourtant depuis le ruban Données > Tri, on pourra ajouter plus de trois clés !!!?
J'ai supprimé la dernière clé, et ça fonctionne !
' Tri With Sheets("BDD").Range("A1:K" & Sheets("BDD").Range("A65536").End(xlUp).Row) .Sort Key1:=.Item(1, 4), Order1:=xlAscending, _ Key2:=.Item(1, 1), Order2:=xlAscending, _ Key3:=.Item(1, 2), Order3:=xlAscending, _ Header:=xlGuess End With
Jacky
Ouppssss!!! Un range c'est perdu en court de route;o)) '-------------- Sub Tri() Dim ModeTri(), ColTri(), i As Long With Sheets("BDD").Range("a1:k" & Cells.Find("*", , , , xlByRows, xlPrevious).Row) ModeTri = Array(1, 1, 1, 2) ' 1= xlAscending 2=xlDescending ColTri = Array(4, 1, 2, 5) ' les colonnes D, A, B, E For i = 0 To 3 .Sort Key1:=.Cells(1, ColTri(i)), Order1:=ModeTri(i), Header:=xlYes Next End With End Sub '-------------- -- Salutations JJ
Ouppssss!!!
Un range c'est perdu en court de route;o))
'--------------
Sub Tri()
Dim ModeTri(), ColTri(), i As Long
With Sheets("BDD").Range("a1:k" & Cells.Find("*", , , , xlByRows, xlPrevious).Row)
ModeTri = Array(1, 1, 1, 2) ' 1= xlAscending 2=xlDescending
ColTri = Array(4, 1, 2, 5) ' les colonnes D, A, B, E
For i = 0 To 3
.Sort Key1:=.Cells(1, ColTri(i)), Order1:=ModeTri(i), Header:=xlYes
Next
End With
End Sub
'--------------
--
Salutations
JJ
Ouppssss!!! Un range c'est perdu en court de route;o)) '-------------- Sub Tri() Dim ModeTri(), ColTri(), i As Long With Sheets("BDD").Range("a1:k" & Cells.Find("*", , , , xlByRows, xlPrevious).Row) ModeTri = Array(1, 1, 1, 2) ' 1= xlAscending 2=xlDescending ColTri = Array(4, 1, 2, 5) ' les colonnes D, A, B, E For i = 0 To 3 .Sort Key1:=.Cells(1, ColTri(i)), Order1:=ModeTri(i), Header:=xlYes Next End With End Sub '-------------- -- Salutations JJ
Jacky
Re.. Oubli ce tri, ce n'est pas ce que veux faire. Désolé
-- Salutations JJ
"Jacky" a écrit dans le message de news: mmj18u$h04$
Ouppssss!!! Un range c'est perdu en court de route;o)) '-------------- Sub Tri() Dim ModeTri(), ColTri(), i As Long With Sheets("BDD").Range("a1:k" & Cells.Find("*", , , , xlByRows, xlPrevious).Row) ModeTri = Array(1, 1, 1, 2) ' 1= xlAscending 2=xlDescending ColTri = Array(4, 1, 2, 5) ' les colonnes D, A, B, E For i = 0 To 3 .Sort Key1:=.Cells(1, ColTri(i)), Order1:=ModeTri(i), Header:=xlYes Next End With End Sub '-------------- -- Salutations JJ
Re..
Oubli ce tri, ce n'est pas ce que veux faire.
Désolé
--
Salutations
JJ
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news: mmj18u$h04$1@speranza.aioe.org...
Ouppssss!!!
Un range c'est perdu en court de route;o))
'--------------
Sub Tri()
Dim ModeTri(), ColTri(), i As Long
With Sheets("BDD").Range("a1:k" & Cells.Find("*", , , , xlByRows, xlPrevious).Row)
ModeTri = Array(1, 1, 1, 2) ' 1= xlAscending 2=xlDescending
ColTri = Array(4, 1, 2, 5) ' les colonnes D, A, B, E
For i = 0 To 3
.Sort Key1:=.Cells(1, ColTri(i)), Order1:=ModeTri(i), Header:=xlYes
Next
End With
End Sub
'--------------
--
Salutations
JJ
Re.. Oubli ce tri, ce n'est pas ce que veux faire. Désolé
-- Salutations JJ
"Jacky" a écrit dans le message de news: mmj18u$h04$
Ouppssss!!! Un range c'est perdu en court de route;o)) '-------------- Sub Tri() Dim ModeTri(), ColTri(), i As Long With Sheets("BDD").Range("a1:k" & Cells.Find("*", , , , xlByRows, xlPrevious).Row) ModeTri = Array(1, 1, 1, 2) ' 1= xlAscending 2=xlDescending ColTri = Array(4, 1, 2, 5) ' les colonnes D, A, B, E For i = 0 To 3 .Sort Key1:=.Cells(1, ColTri(i)), Order1:=ModeTri(i), Header:=xlYes Next End With End Sub '-------------- -- Salutations JJ