Bonjour ...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| '
Range("A4").Select
ActiveWorkbook.Worksheets("J1").ListObjects("Tableau21").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("J1").ListObjects("Tableau21").Sort.SortFields.Add2 _
Key:=Range("A4"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
:=xlSortNormal
With ActiveWorkbook.Worksheets("J1").ListObjects("Tableau21").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
... |
Proposition : remplacer toutes ces lignes par (1 seule)
[Tableau21].Sort [Tableau21].Columns, 1, Header:=1
Remarque : pour trier selon une autre colonne x :
[Tableau21].Sort [Tableau21].Columns(x), 2,Header:=1
(,1, pour un ordre croissant et ,2, pour un ordre décroissant)
Nota : avec [Tableau21], l’évaluation sous-jacente de cette saisie tient compte, parmi tout ce qui est prévu, de l’emplacement du tableau dans le classeur donc permet de déplacer le tableau n’importe où dans ce dernier sans toucher aux macros .
Bien sûr on peut utiliser Sheets(1).ListObjects("Tableau21") mais l’évaluation sous-jacente exige que le tableau soit placé dans la feuille indiquée sous peine de …
On peut utiliser aussi, Range("Tableau21"), mais avec prudence. Cette notation, utilisée dans le module de feuille d’un onglet qui ne contient pas Tableau21, pose problème. Dans ce cas, le référencement s’impose avec Feuilx.Range ("Tableau21").
Partager