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

Tri personnalisé dans une macro

2 réponses
Avatar
FRVN
Bonjour =E0 tous,

je souhaite tri=E9 une liste en fonction d'un ordre=20
pr=E9d=E9fini. Le code est le suivant :=20

ActiveSheet.Range(Cells(8, 1), Cells(ActiveSheet.Cells(1,=20
1), 12)).Sort Key1:=3DRange("B8"), Order1:=3DxlAscending,=20
Key2:=3DRange("C8") , Order2:=3DxlAscending, Header:=3DxlGuess,=20
OrderCustom:=3D1, MatchCase:=3D False,=20
Orientation:=3DxlTopToBottom

J'ai bien compris que je devais utiliser le param=E9tre=20
OrderCustom mais malheureusement, il n'accepte que le=20
num=E9ro d'ordre du tri personnalis=E9 pr=E9alablement cr=E9=E9. Le=20
fichier va etre utilis=E9 par plusieurs personnes et je ne=20
me vois pas leur demander de cr=E9er un tri personnalis=E9 =E0=20
chaque fois. Ma question est donc, est il possible de=20
d=E9finir un tri personnalis=E9 en fonction d'une liste ou=20
d'une plage de cellule et si oui comment. Mes recherches=20
sont rest=E9es infructueuses pour l'instant.

merci =E0 tous

FRVN

2 réponses

Avatar
Shnoulle
Salut Faycal

Quelquechose du genre:

Application.AddCustomList ListArray:=Array("Lunes", "Martes",
"Mercedes")

Ca marche ??



FRVN wrote:
Bonjour à tous,

je souhaite trié une liste en fonction d'un ordre
prédéfini. Le code est le suivant :

ActiveSheet.Range(Cells(8, 1), Cells(ActiveSheet.Cells(1,
1), 12)).Sort Key1:=Range("B8"), Order1:=xlAscending,
Key2:=Range("C8") , Order2:=xlAscending, Header:=xlGuess,
OrderCustom:=1, MatchCase:= False,
Orientation:=xlTopToBottom

J'ai bien compris que je devais utiliser le paramétre
OrderCustom mais malheureusement, il n'accepte que le
numéro d'ordre du tri personnalisé préalablement créé. Le
fichier va etre utilisé par plusieurs personnes et je ne
me vois pas leur demander de créer un tri personnalisé à
chaque fois. Ma question est donc, est il possible de
définir un tri personnalisé en fonction d'une liste ou
d'une plage de cellule et si oui comment. Mes recherches
sont restées infructueuses pour l'instant.

merci à tous

FRVN


Avatar
bonjour Shnoulle,

Cela me permet effectivement de créer un tri personnalisé
mais ce fichier est appelé a etre dupliqué pour etre
utilisé par différente personne. Le tri sera différent
selon les personnes. Ce que tu m'as donné me permet
effectivement de créer un tri personnalisé en fonction
d'une plage de cellule (cela fonctionne très bien) mais
malheureusement il faudrait que le tri perso soit
toujours à la meme place dans l'odre des tris et je pense
que cela ne peut etre jouable.

J'ai essayé d'inclure le Array dans mon ordercustom mais
marche pas

Si quelqu'un à une idée, je suis preneur.

merci à tous

frvn

-----Message d'origine-----
Salut Faycal

Quelquechose du genre:

Application.AddCustomList ListArray:=Array
("Lunes", "Martes",

"Mercedes")

Ca marche ??



FRVN wrote:
Bonjour à tous,

je souhaite trié une liste en fonction d'un ordre
prédéfini. Le code est le suivant :

ActiveSheet.Range(Cells(8, 1), Cells(ActiveSheet.Cells
(1,


1), 12)).Sort Key1:=Range("B8"), Order1:=xlAscending,
Key2:=Range("C8") , Order2:=xlAscending,
Header:=xlGuess,


OrderCustom:=1, MatchCase:= False,
Orientation:=xlTopToBottom

J'ai bien compris que je devais utiliser le paramétre
OrderCustom mais malheureusement, il n'accepte que le
numéro d'ordre du tri personnalisé préalablement créé.
Le


fichier va etre utilisé par plusieurs personnes et je
ne


me vois pas leur demander de créer un tri personnalisé
à


chaque fois. Ma question est donc, est il possible de
définir un tri personnalisé en fonction d'une liste ou
d'une plage de cellule et si oui comment. Mes
recherches


sont restées infructueuses pour l'instant.

merci à tous

FRVN


.