|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : trier données dans excel [ Divers / General ] (ketchups)
Informations & options pour cette discussion
|
mardi 16 octobre 2007 à 15:19:04 |
trier données dans excel

ketchups
|
Hello tous le monde Je me permet de poster encore un ti sos, vous m'avez bien aidé jusque là et je vous en remercie ^^ Je suis toujours sur excel et je prog en vb net et ce que j'aimerai faire c'est un tri dans mon document excel j'ai vu dans pas mal de topic qu'on conseille de voir avec une macro vba et de copier le code malheuresement sa ne marche pas vu que dans vb net sa me dit fonction non déclarée. donc la fonction que j'ai essayé de copier de vba excel: (j'ai modifié Selection.range par obxl.range car obxl c'est la variable pour mon fichier obxl.range("A:E").Sort(Key1:=obxl.Range("B1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom)
Si quelqu'un à une meilleure solution elle est la bienvenue, ou si vous savez comment je devrais déclarer mes variables
|
|
|
|
mardi 16 octobre 2007 à 17:44:29 |
Re : trier données dans excel

Molenn
|
A mon avis, le problème vient justement de ton objet obxl.
C'est quoi le type de l'objet ? Un objet Workbook ou un objet Worksheet ? Ca m'étonne que l'enregistreur de macro t'ait remonté une ligne du style Selection.range parce que normalement, Selection contient en fait les coordonnées complètes de ta cellule, c'est à dire Workbook("toto").Worksheets("Titi").range("A1")
Ce qui explique aussi ton cas : Quand tu écris obxl.range("A:E"), à mon avis, il manque quelque chose, soit le workbook (puisque tu fais de l'automation, tu n'es pas dans le fichier Excel), soit le Worksheet.
Je ne connais pas le .net, mais je suppose que comme tout le monde en VB6 ou VBA, ton obxl est un objet Workbook crée avec un CreateObject ou GetObject. Il faudrait donc que tu rajoutes : obxl.Worksheets("Feuil1").Range("A:E").Sort blabla pour que cela fonctionne.
Enfin, je suppose. Il faudrait un peu plus de code pour en être sûr.
Molenn
|
|
|
|
mercredi 17 octobre 2007 à 07:48:58 |
Re : trier données dans excel

ketchups
|
Merci de m'avoir répondu, le type de mon objet obxl c'est bien un worbook donc j'ai rajouté le bout de code que tu m'as indiqué donc ce qui me donne ceci comme code excel obxl.Worksheets("temp1").Range("A:E").Sort(Key1:=obxl.Range("B1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= False, Orientation:=xlTopToBottom)
mais enfaite mon soucis c'est que les parametres suivant "ne sont pas déclaré" dans vb net : xlAscending , xlGuess, xlTopToBottom
et donc je sais pas si je dois les déclarer avec DIM ou si il faut que j'importe une "bibliothèque" supplémentaire je sais pas si c'est compréhensible ce que je viens de dire
et pis je sais pas non plus si cette méthode est fessable avec vb net
|
|
|
|
mercredi 17 octobre 2007 à 08:04:57 |
Re : trier données dans excel

Molenn
|
Réponse acceptée !
Ah ben là, je ne sais pas. Comme je te disais, je n'y connais rien au .net Je suppose que tu as bien référencé Excel dans ton projet ? Essaye peut être de remplacer ces mots clés d'Excel par leur constante xlAscending, c'est 1 par exemple. Tu peux le savoir en allant dans l'explorateur de projet d'Excel. TU ouvres l'éditeur VB (alt+F11), puis tu fais F2 et tu cherches tes mots clés. En bas, la valeur de la constante t'est donnée. Autre chose, ton code n'est toujours pas bon. Tu as rajouté le Worksheets dans la première partie, mais pas dans la 2ème, ça ne peut pas fonctionner comme ça : obxl.Worksheets("temp1").Range("A:E").Sort(Key1:=obxl.Worksheets("temp1").Range("B1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom)
Molenn
|
|
|
|
mercredi 17 octobre 2007 à 11:18:00 |
Re : trier données dans excel

ketchups
|
Réponse acceptée !
enfaite je crois que mon aide fonctionne pas vraiment quand je fais f1 ou ta manip alt+f11, f2 il me met toujours commande introuvable alors j'ai trouvé ceci sur un site web. 'xlAscending = 1 'xlYes = 1 'xlTopToBottom = 1 'xlSortNormal = 0 mais une fois que je lance mon prog sa bug je pense qu'il aime pas le worksheets.... je vais essayé de cherché sa cette aprem sinon y'a le site de msdn j'ai vu des truc intéressant (pour les parametres) faut just que je trouve à quoi sa corréspond : [ Lien ]
|
|
|
|
mercredi 17 octobre 2007 à 13:32:40 |
Re : trier données dans excel

Molenn
|
Donne ton bout de code complet, avec les déclarations de variable, la création de l'objet Excel, etc ...
On pourra peut être t'aider ?
Molenn
|
|
|
|
mercredi 17 octobre 2007 à 14:14:28 |
Re : trier données dans excel

ketchups
|
ok pas de soucis. Dim obxl AsObject obxl = CreateObject("excel.application") obxl.workbooks.open(filename:="C:\Temp"& "SignallingNetwork" & Format(Now.Date, "d-M-yy") & ".xls", editable:=True)
Là j'ai une procédure pour supprimer certaines lignes (vides, remplie d'espace....) je ne la mets pas pour le moment mais si jamais je la mettrai.
obxl.Application.Rows.Columns.AutoFit() 'agrandir les colones automatiquements par rapport aux contenus
obxl.worksheet("temp1").Range("A:E").Sort(Key1:=obxl.worksheet("temp1").Range("B1"), Order1:=1, Header:=0, OrderCustom:=1, MatchCase:=0, Orientation:=1)
obxl.Save( True) obxl.application.quit()
|
|
|
|
jeudi 18 octobre 2007 à 08:22:48 |
Re : trier données dans excel

Molenn
|
Réponse acceptée !
Si je ne m'abuse, je crois qu'il te manque l'objet Workbook justement, mais j'ai du mal à savoir. En VB6 ou en VBA, j'appelle mon fichier Excel de façon un petit peu différente, et je ne sais pas si c'est le .Net qui fait une différence ou non dans ton code. Voici à quoi ça ressemblerait chez moi (avec la référence à Excel de cochée dans mon projet). En rouge les différences : Dim obxl AsExcel.Application Dim FicXl as Excel.Workbook
Set obxl = CreateObject("excel.application") Set FicXl = obxl.workbooks.open(filename:="C:\Temp"& "SignallingNetwork" & Format(Now.Date, "d-M-yy") & ".xls", editable:=True) FicXl .worksheets("temp1").Range("A:E").Sort Key1:=FicXl.worksheets("temp1").Range("B1"), Order1:=1, Header:=0, OrderCustom:=1, MatchCase:=0, Orientation:=1
Je ne sais pas si ça pourra t'aider, je n'ai pas de quoi tester exactement puisque pas le même logiciel que toi.
Molenn
|
|
|
|
jeudi 18 octobre 2007 à 13:49:08 |
Re : trier données dans excel

ketchups
|
j'ai fait un petit mix des différentes codes qu'on a écrit là et j'ai réussit à trier mon fichier Merci beaucoup pour m'avoir aider molenn sa fait super plaisir 
|
|
|
Cette discussion est classé dans : données, excel, trier, range, obxl
Répondre à ce message
Sujets en rapport avec ce message
Trier des données en Excel... pour les pro des Alogrithmes... [ par Charlie ]
Allo...J'ai un tableau de 10 colonnes et je voudrais trier mes données selon la colonne 10. Les valeurs de cetet colonnes sont comprises entre 0 et 16
Costaud : La fonction VB de trie dans Excel... ? [ par Jin ]
Range("A1:H12").SelectRange("A1:H12").Name = "Toto"Permet de nommer la plage A1 à H12 avec le nom "toto".Equivaut à dans Excel : Insertion / Nom / Déf
trier une feuille excel [ par gchery ]
la source suivante me donne l'erreur : "la méthode sort de la classe range à échoué"Private Sub mnumini50_Click()Dim obExcelApp As ObjectDim obworkshe
graphique excel, problème avec range [ par vousvous ]
salut,j'ai utilisé l'enregistreur de macro pour voir comment on crée un graphique. J'obtiens une des lignes suivante concernant la source des données
trier des données excel avec VBA [ par LUSTRUCRU ]
Bon voila,je souhaite à partir d'un control qui se trouve "Feuil1" faire un tri sur des données qui se trouve "feuille2" suivant un critére "X".voici
Replay snake [récuperé données Excel] [ par liofan ]
Bonjour,j'avais deja posé une question içi mais je crois que je m'etais mal exprimé. Ceci étant je dois faire une fonction replay dans mon jeux du ser
trier tableau excel [ par fthem ]
Salut à tous, j'ai un fichier excell avec dans la colonne A des noms que je retrouve plusieurs fois en nombres diférents, et dans la colone B la même
copier/ coller excel [ par ketchups ]
HelloJe programme à l'aide de vbnet et j'ai un petit soucis avec excel.J'ai plusieurs fichiers excel et j'aimerai pouvoir coller les données dans un s
[vb.net] Trier des données excel [ par saku28 ]
Hello Je suis un peu coincée sur mon bout de code et j'ai fait une recherche sur le forum malheureusement je n'ai pas trouvé de topic répondant à ma
Liste déroulante [ par sgd1 ]
Je viens vers vous car j'ai besoin d'aide. Je dois faire une liste déroulante dans excel.J'ai un onglet avec ma liste déroulante et un autre avec les
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|