[VBA] Trier un tableau excel [Résolu/Fermé]

Signaler
Messages postés
1561
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
30 avril 2019
-
Messages postés
1561
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
30 avril 2019
-
Bonjour,

Je fais une fois de plus appel à vos talents.

J'aimerai trier tout un tableau excel en fonction d'une colonne AC d'abord puis D (D + AC) , sachant que la première ligne du tableau correspond aux légendes du tableau.

Merci de m'aider

3 réponses

Messages postés
817
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
20 avril 2012
147
Bonjour,

vu que c'est un simple tri la fonction tri du menu données dois faire ton affaire.

Maintenant si tu veux en faire une macro, la fonction enregistrer une macro te donnera un bon debut de reponse
Messages postés
1561
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
30 avril 2019
256
C'est ce que j'ai fait regarde j'obtient ça:

Range("A1:AC220").Select
Selection.Sort Key1:=Range("AC2"), Order1:=xlAscending, Key3:=Range("D2") _
, Order3:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption3 _
:=xlSortNormal

Seulement je veux pas sélectionner de A1 à AC220 mais de A1 à ACnbligne cela doit changer le code non? comment m'y prendre
Messages postés
375
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
17 octobre 2008
118
Columns("A:AC").Select ?
Messages postés
817
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
20 avril 2012
147
ton probleme n'est donc pas le tri mais la selection

a quoi correspond la ligne 220. Comment peut-on l'identifier? Est-ce la derniere ligne de ta feuille?

Si oui:

nbligne = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
Range("A1:AC" & nbligne).Select
Selection.Sort Key1:=Range("AC2"), Order1:=xlAscending, Key3:=Range("D2") _
, Order3:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption3 _
:=xlSortNormal
Messages postés
1561
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
30 avril 2019
256
Merci désolé comme juste avant j'utilisais une boucle pour écrire jusqu'à détecter la dernière cellule non vide, je suis resté bloqué sur le principe :)