Petite question sur les "sort"

ildrad

XLDnaute Nouveau
Bonjour,

J'ai une petite question qui pourra vous paraitre triviale, mais je n'arrive pas à mettre la main sur la réponse.

Lorsque je fais un tri sur une feuille où, par exemple, la premiere ligne est la ligne 3 et la dernière ligne est la 10, il va me sortir les lignes triées mais entre les lignes 1 et 7.

Est-il possible que le range des lignes de sortie soit le meme que celui en entrée ? (le numéro de la premiere ligne est variable, je ne peux donc apparement pas utiliser le header qui skip seulement la premiere ligne)

commande utilisée (x_start est le numéro de la colonnes où le tri est effectué) : Sheets(courant).Columns.Sort Key1:=Sheets(courant).Cells(3, x_start + 35)

Cordialement,
 
Dernière édition:

Misange

XLDnaute Barbatruc
Re : Petite question sur les "sort"

Bonjour

Merci de préciser la version avec laquelle tu travailles, et dans le titre de ta question et dans ton profil. Les instructions VBA ont changé pour les tris entre les versions <=2003 et >=2007
Il ne faut pas dans ton exemple trier sur la colonne entière mais sélectionner au préalable la zone à trier.
 

ildrad

XLDnaute Nouveau
Re : Petite question sur les "sort"

Done pour la version d'excel dans le profil et le titre.

Au niveau de la sélection de la wone à trier, c'est ce que j'ai essayé de faire mais je n'ai pas reussi à trouver une méthode ou un exemple que j'ai réussi à reproduire après 1h de google (qui dit que j'ai du mal ^^).

Serait-il possible de m'indiquer ou je pourrai trouver cette info ?

Cordialement,
 

Misange

XLDnaute Barbatruc
Re : Petite question sur les "sort"

Le plus simple : tu transformes ta zone en tableau au sens excel du terme
Voir les explications et les avantages ici
Ce lien n'existe plus
et tu lances l'enregistreur de macro
tu tries sur la colonne d'intérêt dans ton tableau
tu récupères le code (au besoin du t'aides de la 3° page du tuto sur les tables qui concerne leur traitement en VBA).

tu trouveras des tas d'autres tutos sur excelabo pour t'aider ainsi qu'ici.
 

MichD

XLDnaute Impliqué
Re : Petite question sur les "sort"

Bonjour,

Cette syntaxe devrait fonctionner correctement peu importe la version : 1997 à 2010.

VB:
Sub test()
dim x_start  As Integer
x_start = 10  'à titre d'exemple

With Worksheets("Feuil1") 'Nom feuille à adapter
    With .Range(.Cells(3, x_start + 35), .Cells(.Cells.Rows.Count, x_start + 35).End(xlUp))
        .Sort Key1:=.Item(2, 1), Order1:=xlAscending, Header:=True
    End With
End With     
End Sub
 

Discussions similaires

Réponses
7
Affichages
405
Réponses
26
Affichages
983

Statistiques des forums

Discussions
312 490
Messages
2 088 875
Membres
103 980
dernier inscrit
grandmasterflash38