[Catégorie modifiée .Net -> VBA] Executer Macro Excel contenue dans l'applicatio

quentinclone - 5 nov. 2012 à 16:29
 quentinclone - 10 nov. 2012 à 14:25
Salut à tous !

J'ai un petit souci avec mon programme. C'est du traitement de données sous VB qui permet d'aboutir à des images personnalisées en fonction de ces données.
En effet, j'ai programmé une macro sous Excel qui permet de convertir un fichier .txt avec des séparateurs "," en tableur, dont voici le code :

Private Sub Macro_de_conversion()
With ExcelApp.ActiveSheet.QueryTables.Add(Connection:=(Fichier_base), Destination:=ExcelCla.Range("$A$1"))
            .Name = "code"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = ExcelApp.InsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 850
            .TextFileStartRow = 1
            .TextFileParseType = ExcelApp.Delimited
            .TextFileTextQualifier = ExcelApp.TextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = False
            .TextFileCommaDelimiter = True
            .TextFileSpaceDelimiter = False
            .TextFileColumnDataTypes = ExcelCla.Array(1, 1, 1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh(BackgroundQuery:=False)
        End With
End Sub



J'ouvre le fichier texte, j’exécute ce code sous VB, mais mon tableur reste le même... Il n'y a aucun changement.
Une ptite idée sur le problème ? Ou une solution autre ?
Je précise encore que ce code est du code VB et non VBA...

Merci d'avance

Quentin

2 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
7 nov. 2012 à 18:53
>>mais mon tableur reste le même... Il n'y a aucun changement<<
Aucun changement par rapport à quoi ?

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
quentinclone
10 nov. 2012 à 14:25
Ouups désolé de ne pas avoir répondu plus tôt je n'avais pas vu.
En fait mon tableur est une importation de fichier texte
Chaque cellule "An" est une ligne de mon fichier texte
chaque ligne de mon fichier texte est une chaine de caractère, séparée par des virgules
Je voudrais extraire chaque chaine dans une cellule et avec la fonction séparateur réglé sur virgule
J'ai donc enregistré une macro dans Excel qui réalise cette fonction, extrait le code VBA et je l'ai copié sur mon programme VisualBasic (en l'adaptant bien sur).
Je ne veux pas conserver de code VBA car il se peut que je réalise une importation de données depuis plusieurs formats différents (.txt, .xls etc...)

J'avais trouvé une fonction sur le net qui "lisait" en conservant cette séparation "virgule" :
Workbooks.OpenText Filename:="D:\xls\Fichier.csv", Origin:= _
        xlWindows, DataType:=xlDelimited, TextQualifier:=xlNone, _
        ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:=True _
        , Space:=False, Other:=False

Mais je ne sais pas l'exploiter pour que la fonction écrive ce qu'elle lit...

Merci d'avance de ta réponse
0
Rejoignez-nous