Bonjour a tous
Je souhaite réaliser un tri par ordre alphabétique d'une plage de cellules en fonction de ma colonne A.
Au début je ne devais trier qu'une certaine plage : des lignes A9 a A19 en fonction de la colonne A. Voici donc la macro que j'avais enregistre :
Cependant, je vais devoir a présent insérer assez souvent des lignes entre A9 et A19 et donc ma macro n'est plus valide. Je voudrais répéter cette opération un peu plus bas dans la colonne également.
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 Sub Tri() ' ' Tri Macro ' ' Rows("9:19").Select ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range( _ "A9"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").Sort .SetRange Range("A9:K19") .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
Exemple : Lignes fixes / Lignes susceptibles de changer du a des insertions
A1 : TITRE 1
A2 : valeur 1
A3 : valeur 3
A4 : valeur 4
A5 : TITRE 2
A6 : valeur 5
A7 : valeur 6
A8 : TITRE 3
A9 : valeur 7
A10 : valeur 8
J'avais donc pense a utiliser la formule INDIRECT pour trier les valeurs comprises entre TITRE 1 et TITRE 2 puis entre TITRE 2 et TITRE 3 puis entre TITRE 3 et rien mais je ne sais pas du tout comment faire...
Si je n'ai pas été assez claire, n'hésitez pas a me poser des questions.
Merci beaucoup !!!!!
Partager