Bonjour,
Je dois trier plusieurs feuilles d'un classeur, et en écrivant le code je me suis demandé si les propriétés du sort étaient liées ou non à une feuille de calcul.
Exemple :
Est-ce que je peux définir mes clés de tri puis ensuite les appliquer sur chacune des feuilles genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 wksresar.Sort.SortFields.Add Key:=Range("B3:B" & nbar + 2), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:="1", DataOption:=xlSortNormal wksresmail.Sort.SortFields.Add Key:=Range("B3:B" & nbmail + 2), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:="1", DataOption:=xlSortNormal wksresrdv.Sort.SortFields.Add Key:=Range("B3:B" & nbrdv + 2), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:="1", DataOption:=xlSortNormal wksresgen.Sort.SortFields.Add Key:=Range("B3:B" & nbgen + 2), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:="1", DataOption:=xlSortNormal
pour les deux premières par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 With wksresar Set plage = .Range("A3:BA" & nbar + 2) .Sort.SetRange plage .Sort.Header = xlGuess .Sort.MatchCase = False .Sort.Orientation = xlTopToBottom .Sort.SortMethod = xlPinYin .Sort.Apply End With With wksresrdv Set plage = .Range("A3:BA" & nbrdv + 2) .Sort.SetRange plage .Sort.Header = xlGuess .Sort.MatchCase = False .Sort.Orientation = xlTopToBottom .Sort.SortMethod = xlPinYin .Sort.Apply End With
ou alors me faut-il définir la clé puis l'appliquer sur la feuille correspondante avant de définir la suivante.
La question n'est pas neutre car vous aurez sans doute remarqué que je définis un custom order pour les tris, et que les définitions des clés de tri se trouvent dans un bloc select case afin d'affecter le bon custom order suivant la valeur prise par la variable du select case..L'objectif général étant de faire remonter en début de feuille les observations vérifiant un critère. La méthode n'est peut-être pas la plus efficace mais disons que cela fonctionne avec une seule feuille..et que donc je souhaite l'étendre à plusieurs feuilles..
En vous remerciant par avance de vos conseils,
marav
Partager