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):

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
Mille merci par avance,