[VBA] Tri multi critère sur tableau
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:
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:
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 |