Sort en VBA sans connaitre dernière colonne

SFillion -  
 SFillion -
Bonjour,

Je travaille un classeur constamment en évolution dans lequel on me demande régulièrement d'ajouter des colonnes aux différents onglets. Mon problème est le suivant. J'ai énormément de code derrière cet outi et je trie souvent les onglets selon des critères différents dépendamment du besoin et des résultats attendus. Résultat, chaque fois que j'ajoute une colonne, je dois revoir mes différents modules pour modifier les "Range("A1:" & Colonne & Dernligne).Sort Key1:=Range("B2")", par exemple

Je connais le code qui me permet d'identifier la dernière colonne et la dernière ligne:
Dim DernCol As Integer, DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row
DernCol = Cells(1, Cells.Columns.Count).End(xlToLeft).Column

Cependant, le résultat obtenu pour la colonne est un chiffre. Je ne sais comment convertir ce chiffre en lettre pour mon RANGE("A....).sort. Pouvez-vous m'aider?

1 réponse

  1. SFillion
     
    Ne cherchez plus, j'ai trouvé.

    Dim DernLigne As Long, DernCol As integer, LetCol as string

    DernLigne = Range("A" & Rows.Count).End(xlUp).Row
    DernCol = Cells(1, Cells.Columns.Count).End(xlToLeft).Column
    LetCol = Split(Cells(1, DernCol).Address, "$")(1)

    Range("A1:" & LetCol & DernLigne).Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:= _
    Range("C2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, _
    MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
    DataOption2:=xlSortNormal

    Merci quand même et bonne fin de journée.
    0