Re : Trier des colonnes à l'aide de VBA
J'ai crié trop vite victoire!
Bon apparemment, j'ai mélangé tous mes fichiers sources. Pas grave. Toujours est il que le résultat que j'obtiens n'est pas satisfaisant.
J'ai trois classeurs ouverts:
1. Celui de l'application: d'ou j'exécute la macro
2. appExcel : qui contient des données que je récupère pour les comparé au contenu d'un fichier texte
3. XLapp: qui est le fichier ou j'enregistre les informations qui m'intéressent
Voici les déclarations:
'Variables du classeur Excel contenant les données à récupérer
Dim appExcel As New Excel.Application 'Application Excel
Dim classeur As New Excel.Workbook 'Classeur Excel
Dim feuille As New Excel.Worksheet 'Feuille Excel
'Variables du classeur contenant les résultats du traitement. C'est lui qui sera enregistré
Dim XLapp As New Excel.Application 'Application Excel
'Préparation du classeur qui contiendra les résultats
XLapp.Workbooks.Add
XLapp.Workbooks(1).Worksheets(2).Delete
XLapp.Workbooks(1).Worksheets(2).Delete
XLapp.Workbooks(1).Worksheets(1).Name = nomfichier
XLapp.Visible = False
Mon soucis maintenant est que je souhaiterais trier les information de mon fichier XLapp par ordre croissant de la colonne A puis B puis C (les données sont des strings).
Je n'arrive pas à m'en sortir avec le SORT malgré l'aide que j'ai lu et les tuto sur developpez.com.
Comment faire?
Voici mes différents essaies donnés pêle mêle:
1.
Worksheets(1).Range("A5:indiceC").Sort Range("A5"), xlAscending, Range("B5"), xlAscending, Range("C5"), xlAscending
XLapp.Visible = TrueXLapp.Workbooks.Close
2.
XLapp.Workbooks(1).Activate
ActiveSheet.Cells.Sort Key1:=[A5], Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
3.
XLapp.Workbooks(1).Activate
ActiveCell.Sort Key1:=[A5], Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
4.
Cells.Sort Key1:=[A5], Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
5.
Cells.Sort Key1:=[A5], Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Je ne sais plus quoi essayer!