Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Est-il possible d'utiliser les fonctions TRIER ou TRIERPAR avec VBA ?

  • Initiateur de la discussion Initiateur de la discussion danielco
  • Date de début Date de début
  • Mots-clés Mots-clés
    vba

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

danielco

XLDnaute Barbatruc
Bonjour,

La question est toute entière dans le titre. Est-il possible d'utiliser les fonctions TRIER ou TRIERPAR avec VBA ?

Merci d'avance.

Daniel
 
Bonjour Danielco,
Pour trier un tableau, vous pouvez utiliser "Sort".
Par ex pour trier un tableau A1.D100 tri sur colonne B ascendant avec titre :
VB:
Range("A1:D100").Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlYes
et sur plusieurs colonnes, par ex :
Code:
Range("A1:F100").Sort Key1:=Range("B1"), Key2:=Range("D1"), Order1:=xlAscending, Order2:=xlDescending, Header:=xlYes
 
Bonjour et merci,

Ce que je souhaite faire c'est utiliser, si possible TRIER pour trier un tableau en mémoire, sans passer par les routines de tri que j'utilise sans les comprendre, genre quicksort.

Daniel
 
Bonsoir.
J'ai si ça vous intéresse des fonctions qui retournent une table de Long des indices de lignes par ordre crossant d'une ou plusieurs colonne, donc un tableau dynamique 2D, et basés sur une méthode différente du Quick-Sort. C'est une méthode par fusions sans découpages inutiles en petit paquets au départ.
 
Bonsoir et merci,
Je veux bien, si vous avez une routine qui trie des tableaux à deux dimensions.
Merci d'avance.
 
Il s'agit de la Sub IndexerParFusions du module MGigogne quand c'est pour plusieurs colonnes d'arguments de tri,
et de la Sub IndexerFus1Col du module MSujetCBx pour une seule colonne.
Rappel: elles constituent seulement une table dynamique de Long. Pour obtenir le tableau effectivement trié il faut reverser le Tableau source dans un nouveau tableau dynamique en suivant l'ordre des numéros de lignes donné dans cette table, comme finissent par le faire mes fonctions Gigogne et SujetCBx.
 

Pièces jointes

Dernière édition:
Bonsoir à tous,

A priori TRIER et TRIERPAR n'ont pas de correspondance en VBA, voici la réponse de ChatGPT :
Dans Excel 2021 VBA, Application.Sort et Application.SortBy ne sont pas des méthodes valides en tant que telles. Ce sont des concepts liés au tri, mais en VBA moderne, tu dois utiliser l’objet Sort associé à une feuille ou une plage.
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
196
  • Question Question
Microsoft 365 Fonction si
Réponses
7
Affichages
138
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…