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:
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
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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 !