[vba excel]trier une plage

LABUCHE

XLDnaute Junior
[resolu]trier une plage de plusieurs colonne

bonjour
j'utilise le code d'une plage :
Code:
Set plage = Range("c1:c" & Range("c65536").End(xlUp).Row)
afin de quantifier toutes les cellules de cette plage dans une listbox

j'aimerai maintenant faire apparaitre les données de ma plage par tri alphabetique dans ma listbox :rolleyes:
 
Dernière édition:

LABUCHE

XLDnaute Junior
Re : [vba excel]trier une plage

merci Pierrot93 j'ai vu ton code mais je ne peut pas l'appliquer a mon programme

en fait ma plage dépend d'une variable
Set plage = Range("c1:c" & Range("c65536").End(xlUp).Row) ou
Set plage = Range("d1:d" & Range("d65536").End(xlUp).Row) ou
Set plage = Range("e1:e" & Range("e65536").End(xlUp).Row) ou
Set plage = Range("f1:f" & Range("f65536").End(xlUp).Row)

je me demandais si il etait possible de trier par ordre croissant le range ("c1:c"& range("f65536").end(xlup).row mais colonne par colonne

j'ai tenter par l'enresgistrement macro mais il me classe chaque colonne en fonction du tri de "c1:c" ....
 

Pierrot93

XLDnaute Barbatruc
Re : [vba excel]trier une plage

Re Labuche

tu parles d'alimenter une "ListBox", mais par quelle methode ? utilisation de la propriété "rowSource" (pas top), "list" ou "additem" ? Dans le code que tu nous donnes je ne vois rien dans ce sens. Mets peut être un petit fichier exemple en pièce jointe avec résultat attendu, ce sera plus facile pour t'aider.

@+
 

Pierrot93

XLDnaute Barbatruc
Re : [vba excel]trier une plage

Re

une solution peut être, pour trier tes colonnes mais pas la listbox :

Code:
Dim maplage As Range, i As Byte
For i = 3 To 6
    Set maplage = Range(Cells(1, i), Cells(Cells(65536, i).End(xlUp).Row, i))
    maplage.Sort Key1:=Cells(1, i), Order1:=xlAscending, _
        Header:=xlNo, Orientation:=xlTopToBottom
Next i

à tester et à adapter sur ton fichier...

@+
 

GFABasic

XLDnaute Nouveau
Re : [vba excel]trier une plage

Boujour a tous,
Moi je cherche à faire un tri sur les cellules actives.Après avoir fait le collé d’une plage de cellules.
Sans avoir à renseigner les coordonnées des cellules.
Quelque chose comme-ça
Cells(Lig, col).Select
ActiveSheet.Paste (d’une plage cellules)
ActivesCells.Sort(Order:=xlAscending) ???? Et le tri de ladite plage.
Vous avais une idée la syntaxe ?
Merci
 

Discussions similaires

Réponses
1
Affichages
138

Statistiques des forums

Discussions
312 505
Messages
2 089 066
Membres
104 015
dernier inscrit
kkgk