Bonjour à tous,
voici mon problème, je souhaiterai faire un code VBA pour faire un trie personnalisé dans un de mes fichiers. Ce fichier comporte des listes de noms dans des colonnes, chaque colonne représente un jour du mois. Chaque début de mois je dois trier les noms selon ma liste personnalisée. Je travaillais avant avec excel 2003, ma macro fonctionnait à merveille, maintenant je suis sous excel 2013 et là... c'est la cata...
voici le début de la macro que j'ai enregistré avec une version excel 2007, n'étant pas au boulot, mais je pense que c'est le même principe que 2013 à voir comme ça. Je n'ai fait l'enregistrement que sur deux jours, je souhaite savoir s'il n'y a pas plus simple avec un bout de code VBA
N'y a-t-il pas une autre solution que cette répétition de la liste personnalisé dans le code ?
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
20
21
22
23
24
25
26
27
28
29 Range("B3:C9").Select ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("B3:C9"), _ SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _ "cheval,écureuil,singe,éléphant,autruche,pingouin" _ , DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Feuil1").Sort .SetRange Range("B3:C9") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("D3:E9").Select ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("D3:E9"), _ SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _ "cheval,écureuil,singe,éléphant,autruche,pingouin" _ , DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Feuil1").Sort .SetRange Range("D3:E9") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("E3").Select
Le trie se fait sur deux colonnes pour chaque jour pour info...
Merci, pour plus de renseignements je suis à votre disposition.
Bonne journée à tous.
Partager