[Excel,VB.NET] Transformer "," en colonnes

Simonu Messages postés 4 Date d'inscription dimanche 27 mars 2011 Statut Membre Dernière intervention 17 mai 2012 - 16 mai 2012 à 16:19
Simonu Messages postés 4 Date d'inscription dimanche 27 mars 2011 Statut Membre Dernière intervention 17 mai 2012 - 17 mai 2012 à 12:11
Bonjour à tous !
J'ai actuellement besoin d'un petit coup de main sur un petit problème que je n'arrive pas à résoudre,
j'ai un fichier Excel contenant toutes les informations dans la premiere colonne. Ces informations sont en CSV donc j'aimerais transformer ces "," en colonnes. Avec la macro j'ai vu plus ou moins ce que je devais faire mais quand je reproduis un code similaire en VB.NET, je n'y arrive pas, le xls ne bouge pas d'un pouce :/

Merci d'avance si vous avez un éclairage à me proposer !


    Sub Macro_Excel_GoodArray(ByVal Path_of_Excel As String)


        Dim xlApp As Excel.Application
        Dim xlWorkBook As Excel.Workbook
        Dim xlWorkSheet As Excel.Worksheet
        Dim Range As Excel.Range
        Dim mycol(,) As Object = New Object(,) {{1, 2}, {2, 2}, {3, 5}, {4, 1}, {5, 2}, {6, 1}, {7, 1}, {8, 1}, {9, 1}, {10, 1}, {11, 1}, {12, 1}}





        xlApp = CreateObject("Excel.Application")

        xlApp.Application.DisplayAlerts = False

        xlWorkBook = xlApp.Workbooks.Open(Path_of_Excel)

        xlWorkSheet = xlWorkBook.ActiveSheet

        Range = xlWorkSheet.Range("A1", "A" & xlWorkSheet.Rows.Count)





        Range.TextToColumns(xlWorkSheet.Range("A1"), Microsoft.Office.Interop.Excel.XlTextParsingType.xlDelimited, Microsoft.Office.Interop.Excel.XlTextQualifier.
       xlTextQualifierDoubleQuote, FieldInfo:=mycol, ConsecutiveDelimiter:=False, Semicolon:=False, Space:=False, Other:=False, Comma:=True, Tab:=True, TrailingMinusNumbers:=True)
        'FieldInfo:=Array(Array(1, 1), Array(12, 1)))


        xlWorkBook.Close() 'The workbook is closed
        xlApp.Quit() 'The application is quitted

        releaseObject(xlApp) 'The application is released properly
        releaseObject(xlWorkBook) 'The workbook is released properly
        releaseObject(xlWorkSheet) ' The worksheet is released properly


    End Sub

6 réponses

Simonu Messages postés 4 Date d'inscription dimanche 27 mars 2011 Statut Membre Dernière intervention 17 mai 2012
16 mai 2012 à 17:29
J'ai oublié de mettre le fichier que je veux modifier :-)

Tapez le texte de l'url ici.
0
Utilisateur anonyme
17 mai 2012 à 02:37
Bonjour,

Tu as juste à

1) Mettre le contenu de la ligne dans une variable

2) Séparer ta ligne dans un tableau avec la fonction Split()

3) Écrire ta colonne, on ne sait pas où, en parcourant le tableau SPLITté()
0
Utilisateur anonyme
17 mai 2012 à 02:40
Bonjour,

Je ne pense pas que beaucoup de gens vont se risquer à ouvrir ton fichier.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
17 mai 2012 à 06:02
Bonjour,
Pas le temps de tester la justesse de ce que je vais dire ici (je dois voyager), mais il me semble que :
Avec la macro j'ai vu plus ou moins ce que je devais faire mais quand je reproduis un code similaire en VB.NET, je n'y arrive pas, le xls ne bouge pas d'un pouce

est tout-à-fait normal dès lors que lorsque tu es sous Excel, tu peux voir le résultat, mais que lorsque tu "pilotes" (ton code) :
Tu fermes immédiatement ton fichier sans penser à le sauvegarder
Ajoute donc (en pilotage) une instruction de sauvegarde et cela devrait aller mieux.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Simonu Messages postés 4 Date d'inscription dimanche 27 mars 2011 Statut Membre Dernière intervention 17 mai 2012
17 mai 2012 à 12:04
Bonjour à tous :-)

Merci de vos réponses rapides. Alors je vais essayer d'abord l'astuce de Ucfoutu, que je peux réaliser une ligne. Et ensuite je vais tester le conseil de cmarcotte. A noter que le lien que j'ai mis est un lien dropbox avec le fichier que je souhaite traiter (j'ai juste oublier de mettre un titre quand j'ai mis le lien URL :-))

Je vous tiens au courant !
0
Simonu Messages postés 4 Date d'inscription dimanche 27 mars 2011 Statut Membre Dernière intervention 17 mai 2012
17 mai 2012 à 12:11
Rebonjour,

Encore un grand merci, le conseil de Ucfoutu m'a permis d'y arriver :p
(je sais pas comment mettre [Resolu] dans le titre) :-)
0
Rejoignez-nous