Bonjour à tous,

Après des recherches sur différents forum, je n'ai toujours pas réussi à résoudre mon problème.
Je cherche à faire un tri sur plusieurs critères par vba, sur un tableau qui provient d'une vue que j'ai importé de ma base de données.
Je me retrouve avec une "erreur 448 : Argument nommé introuvable" de la ligne 2 à 7.
J'ai réalisé mon code à l'aide de l'enregistreur de macro et des infos trouvés sur différents forum.

Je vous remercie d'avance.

Voici mon 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
    ActiveWorkbook.Worksheets("DECOMPOSITION").ListObjects("Tableau_PISRV37010_BASEITLINE_AA_DECOMPOSITION_STOCK_ACHAT_VENTE").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("DECOMPOSITION").ListObjects("Tableau_PISRV37010_BASEITLINE_AA_DECOMPOSITION_STOCK_ACHAT_VENTE").Sort.SortFields.Add _
        Key1:=Worksheets("DECOMPOSITION").Range("Tableau_PISRV37010_BASEITLINE_AA_DECOMPOSITION_STOCK_ACHAT_VENTE[REFDECOMPO]"), Order1:=xlAscending, _
        Key2:=Worksheets("DECOMPOSITION").Range("Tableau_PISRV37010_BASEITLINE_AA_DECOMPOSITION_STOCK_ACHAT_VENTE[DECOMPOSTION]"), Order2:=xlDescending, _
        Key3:=Worksheets("DECOMPOSITION").Range("Tableau_PISRV37010_BASEITLINE_AA_DECOMPOSITION_STOCK_ACHAT_VENTE[REF]"), Order3:=xlAscending, _
        DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:=xlSortNormal, _
        SortOn:=xlSortOnValues
    With ActiveWorkbook.Worksheets("DECOMPOSITION").ListObjects("Tableau_PISRV37010_BASEITLINE_AA_DECOMPOSITION_STOCK_ACHAT_VENTE").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
Et ici, le code quand j'ai utilisé l'enregistreur de macro :

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
    ActiveWorkbook.Worksheets("DECOMPOSITION").ListObjects( _
        "Tableau_PISRV37010_BASEITLINE_AA_DECOMPOSITION_STOCK_ACHAT_VENTE").Sort. _
        SortFields.Clear
    ActiveWorkbook.Worksheets("DECOMPOSITION").ListObjects( _
        "Tableau_PISRV37010_BASEITLINE_AA_DECOMPOSITION_STOCK_ACHAT_VENTE").Sort. _
        SortFields.Add Key:=Range( _
        "Tableau_PISRV37010_BASEITLINE_AA_DECOMPOSITION_STOCK_ACHAT_VENTE[REFDECOMPO]") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("DECOMPOSITION").ListObjects( _
        "Tableau_PISRV37010_BASEITLINE_AA_DECOMPOSITION_STOCK_ACHAT_VENTE").Sort. _
        SortFields.Add Key:=Range( _
        "Tableau_PISRV37010_BASEITLINE_AA_DECOMPOSITION_STOCK_ACHAT_VENTE[DECOMPOSTION]" _
        ), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("DECOMPOSITION").ListObjects( _
        "Tableau_PISRV37010_BASEITLINE_AA_DECOMPOSITION_STOCK_ACHAT_VENTE").Sort. _
        SortFields.Add Key:=Range( _
        "Tableau_PISRV37010_BASEITLINE_AA_DECOMPOSITION_STOCK_ACHAT_VENTE[REF]"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("DECOMPOSITION").ListObjects( _
        "Tableau_PISRV37010_BASEITLINE_AA_DECOMPOSITION_STOCK_ACHAT_VENTE").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With