Bonjour.
Je ne suis pas familier des méthodes Sort.
Je procède d'abord avec l'enregistreur de macros :
1 2 3 4 5 6 7 8
| With ActiveWorkbook.Worksheets("Feuil1").Sort
.SetRange Range("A5:A504")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With |
Mais je veux définir ma zone de tri en fonction de diverses variables.
Dans un cas simple, Excel accepte :
.
SetRange Range(Worksheets("Courbes vraies").Cells(4 + 1, 1), Worksheets("Courbes vraies").Cells(4 + nb_de_coûts, 1))
mais il ne veut pas de références plus compliquées du style
1 2
| .SetRange Range(Worksheets("Courbes vraies").Range(Worksheets("Courbes vraies").Cells(premier_scénario(classe) * 5, classe * 2 + 1), _
Worksheets("Courbes vraies").Cells(dernier_scénario(classe) * 5 + 4, classe * 2 + 1))) |
j'aimerais bien comprendre pourquoi
Je ne peux pas faire :
1 2
| Set zone_de_tri = Worksheets("Courbes vraies").Range(Worksheets("Courbes vraies").Cells(premier_scénario(classe) * 5, classe * 2 + 1), _
Worksheets("Courbes vraies").Cells(dernier_scénario(classe) * 5 + 4, classe * 2 + 1)) |
et ni d'ailleurs le plus simple zone_de_tri.Sort qui me paraîtrait bien plus simple, direct et transparent que ce que me propose l'enregistreur de macros...
Quelqu'un peut-il aider un pauvre pèlerin ??
Merci !
Patrick
Partager