Bonjour à tous,
Je vous solicite à nouveau pour un petit problème que je ne parviens pas à régler.
Dans une feuille excel "Project", j'ai une plage de données de la colonne C à la colonne R.
C10:R11 = En tête de colonnes (il y a des cellules fusionnées)
A partir de C12 = Données à trier.
A partir de la ligne 12, je souhaite trier mes données de la manière suivante :
Colonne R : Tri de Z à A
Colonne C : Tri personnalisé, avec une liste déjà créée (General, ProgM,BP, Other)
J'ai créé la macro ci-dessous
Elle fonctionne sur toutes mes données, sauf pour la 1ère ligne de ma plage : la ligne 12.
Pourriez-vous m'éclairer sur ce qui cloche svp ?
Code (Visual Basic):
Mille merci par avance,
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 Sub Tri() 'Tri personnalisé Range("C10:C11").Select ActiveWorkbook.Worksheets("Project").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("Project").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("Project").AutoFilter.Sort.SortFields.Add Key:= _ Range("R11:R163"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption _ :=xlSortNormal With ActiveWorkbook.Worksheets("Project").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With ActiveWorkbook.Worksheets("Project").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("Project").AutoFilter.Sort.SortFields.Add Key:= _ Range("C12:C163"), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder _ :="General,ProgM,BP,Other", DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Project").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
Partager