Bonjour,

Je dois trier une feuille excel à partir d'un programme VB6.

J'utilise le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Range("A1:AS807").Sort Key1:=Range("U2"), Order1:=xlAscending, , Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Mon problème est que je ne connais pas à l'avance la colonne à trier, ni le nombre de colonnes à trier.
Je construis cette commande dynamiquement comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
ActiveWorkbook.Sheets("Feuil1").Select
LastRow = ActiveSheet.Range("A1").SpecialCells(xlLastCell).Row
For h = NbTri To 1 Step -1
    Tri = "Range(" & Chr(34) & "A1:AS" & LastRow & "" & Chr(34) & ").Sort " & xlTri(h) & ", Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal"
Next h
J'ai bien trouvé la fonction EbExecuteLine de la dll vba6.dll, mais ça ne fonctionne pas (ou je ne fait pas ce qu'il faut).

Quelqu'un peut-il m'aider à résoudre ça (même avec une autre méthode) ?

Merci