|
| Tri sur colonne Excel via OLE Automotion et fonction XLS |
| Iniciado por t.dinh@silvera.fr, 25,jul. 2019 15:27 - 2 respuestas |
| |
| | | |
|
| |
Miembro registrado 46 mensajes |
|
| Publicado el 25,julio 2019 - 15:27 |
bonjour à tous,
je galère à trouver la bonne syntaxe pour tri Excel, j espere que quelqu'un pourra m'aider je n'ai pas trouvé de tri via les fonction XLS donc je tente le coup via OLE automotion
j 'ai créé une macro sur mon modèle de fichier Excel mais lorsque le sauvegarde
xlsSauve(FichierEXCEL,sNewChemin) cela détruit le module vba d'excel ??? --> quelqu'un a une solution par rapport à ce plantage ?
De ce fait, j 'ai utilisé la classe fournie pour le pilotage Excel avec la méthode triercolonne sauf qu'il me trie la colonne pas le tableau et ne prends pas en compte les titres
je me suis appuyé de cet article mais sans succès : https://www.developpez.net/forums/d1530281/environnements-developpement/windev/excel-ole-automation-trier-plusieurs-colonnes/
J ai adapté la méthode triercolonne avec ce code :
SI sColonne<>"" ALORS :SelectionnerCellules(sColonne) :m_pautExcel>>Selection>>CurrentRegion>>Select FIN
QUAND EXCEPTIONEXCEPTION DANS :m_pautExcel>>Selection>>Sort (m_pautExcel>>range("F1"), xlAscending)
je souhaite mettre au moins le paramètre "Header" de cette macro (qui fonctionne sur Excel)
Selection.Sort Key1:=Range("F1"), Order1:=xlAscending, _ Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
si quelqu'un peut m'aider sur ce coup pour trouver la syntaxe exacte
d'autant que je dois regarder cette ligne de macro pour faire des sous-totaux sur excel.
Selection.Subtotal GroupBy:=6, Function:=xlSum, TotalList:=Array(8, 16), _ Replace:=True, PageBreaks:=True, SummaryBelowData:=True
J'espère avoir été clair et je vous remercie d'avance de votre aide
PS : je ne souhaite pas utiliser le champ tableur |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 46 mensajes |
|
| Publicado el 28,agosto 2019 - 10:39 |
je relance le sujet si des personnes sont revenus de vacances  |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 46 mensajes |
|
| Publicado el 30,agosto 2019 - 17:08 |
En regardant le sujet suivant :
https://www.developpez.net/forums/d1530281/environnements-developpement/windev/excel-ole-automation-trier-plusieurs-colonnes/
j 'ai réussi à adapter le code, car cette syntaxe semble fonctionner, je partage au cas où :
à déclarer
MaFeuille est un objet automation dynamique MonTri est un objet automation dynamique MaPlage est un objet automation dynamique
MaFeuille = :m_pautExcel>>Worksheets("Ventes") MonTri = MaFeuille>>Sort MonTri>>SortFields>>Clear MonTri>>SortFields>>Add(MaFeuille>>Range("F1:F1500"), xlSortOnValues, xlAscending, xlSortNormal) MaPlage = MaFeuille>>Range("F1:F1500") MonTri>>SetRange(MaPlage) MonTri>>Header(1) MonTri>>MatchCase(False) MonTri>>Orientation(1) MonTri>>SortMethod(1) MonTri>>Apply()
bon bah passons aux sous-totaux maintenant ... |
| |
| |
| | | |
|
| | | | |
| | |
|