bonjour
j'ai utilisé le formidable outil qu'est l'enregistreur de macro pour un tri sur colonne dans un tableau dont la première est fixe et la dernière s'incrémente chaque jour.
La référence de tri est la ligne 7.
Dans cet exemple, je me suis donc limité à la colonne CDQ..
Ça donne ça:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Sub Tri_horizontal()
'
' Tri_horizontal Macro
' Trie les commandes par date de mouvement
'
'
ActiveWindow.Panes(2).Activate
Range("CCV1:CDQ2173").Select
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range( _
"CCV7:CDQ7"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SetRange Range("CCV2:CDQ2173")
.Header = xlGuess
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
End Sub |
Je voudrais remplacer le 2173 par la dernière créée à chaque nouvelle entrée.
Pour les mêmes lignes, de 1 à 2173
Lors des saisies, j'ai défini la dernière colonne comme ça:
Dc = ws2.Cells(2, Cells.Columns.Count).End(xlToLeft).Column
il n'y a effectivement jamais rien derrière la dernière colonne en ligne 2.
Docn mon paramètre, c'est Dc
Comment modifier ma formule en paramétrant CDQ par Dc ?
Je sais c'est simple mais je m'y perds avec les "" et &, etc.
Promis que je vais le retenir cette fois !
Partager