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

Signaler
Messages postés
4
Date d'inscription
dimanche 27 mars 2011
Statut
Membre
Dernière intervention
17 mai 2012
-
Messages postés
4
Date d'inscription
dimanche 27 mars 2011
Statut
Membre
Dernière intervention
17 mai 2012
-
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

Messages postés
4
Date d'inscription
dimanche 27 mars 2011
Statut
Membre
Dernière intervention
17 mai 2012

J'ai oublié de mettre le fichier que je veux modifier :-)

Tapez le texte de l'url ici.

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é()

Bonjour,

Je ne pense pas que beaucoup de gens vont se risquer à ouvrir ton fichier.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
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
Messages postés
4
Date d'inscription
dimanche 27 mars 2011
Statut
Membre
Dernière intervention
17 mai 2012

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 !
Messages postés
4
Date d'inscription
dimanche 27 mars 2011
Statut
Membre
Dernière intervention
17 mai 2012

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) :-)