apache88
Messages postés78Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention19 mars 2014
-
26 juil. 2007 à 07:37
apache88
Messages postés78Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention19 mars 2014
-
26 juil. 2007 à 08:51
Bonjour,
Vu que je n'ai pas eu réponse à mon précédent poste, j'en crée un nouveau afin d'être sûr d'avoir une réponse (enfin j'espère)
Mon problème précédent était que je ne savais pas comment trier une colonne excel via VB .NET.
J'ai été énormément aidé et je les remercie encore une fois mais me voila encore une fois dans une impasse....
J'explique depuis le début..
J'écris des données dans un tableau excel (ces données sont prise dans l'active directory). J'ai ensuite 3 colonne:
Nom et Prénom | Visa | Numéro de téléphone
Quand il relève les informations depuis active directory, il ne les écris pas dans l'ordre alphabétique... dans mon poste précédent, le problème à presque été totalement résolu.
J'utilise le code suivant pour trier une colonne:
Dim wb
As Excel.Workbook
Dim ws
As Excel.Worksheet
wb = excel.Workbooks.Add(1)
'on ouvre un classeur dans excel
ws = wb.Worksheets(1)
'on ouvre une feuille dans le classeur excel ws.Cells(4, 2).SortSpecial(
Global.Excel.XlSortMethod.xlPinYin) 'Tri de la 2ème colonne par ordre alphabétique
Seulement voila... il me tri correctement la colonne Nom et Prénom mais le problème c'est qu'après ça ne correspond plus a la colonne visa et téléphone... En faisant le tri manuellement sur excel, j'ai vu qu'il fallait sélectionner mes 3 colonne et faire le tri pour que ça continu à correspondre. Mais je sais pas trop comment m'y prendre en VB... J'ai essayé de modifier ws.Cells.... afin de séléectionner plusieurs colonnes, mais soit on ne peux pas le faire, soit je fais faux.
Si quelqu'un à une solution, je suis tout ouïe.
Merci
A voir également:
Trier une colonne excel par ordre alphabétique vba
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 26 juil. 2007 à 08:01
Bonjour,
Une solution, non (je ne suis pas VBAiste du tout), mais une idée, oui :
1) tu lances l'enregistreur de macro
2) tu fais ta sélection et ton tri manuellement
3) tu arrêtes et sauvegardes la macro générée
4) tu ouvres ta macro dans l'éditeur et tu regardes comment Monsieur VBA a écrit tout celà.
5) tu adaptes, maintenant que tu connais cette syntaxe.
et en remplaçant B5 et D22 par ce qui va dans ton appli .
B5:D22 y est ton range, à remplacer par celui qui te convient
B5 est la colonne que tu Tries, les autres étant "entrainées" par ce Tri
Enfin... c'est ce que je comprends de ce que je lis dans la syntaxe de la macro enregistrée...
apache88
Messages postés78Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention19 mars 2014 26 juil. 2007 à 08:32
Parceque c'est malheureusement pas aussi simple :( Selection n'est pas définie et xlsAscending, xls guess etc.. n'ont pas l'air d'être utilisé en vb .net