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)

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


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,655 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.