Lire csv via une macro

Bonjour,

Je lis un fichier texte dont les séparateurs sont des virgules (et que je souhaite remplacer par des point virgule).

Mon code :

dim a as string
dim b as string

Open monFichier.txt for input as #1
Do while not EOF(1)
input  #1,a
b = b + a
loop
c=replace(b,",",";")
close#1

Le problème c'est que ca ne marque que s'il y a un tréma (") au début et à la fin du fichier texte sinon j'ai le message suivant : "Incompatibilité de type" ...

Une solution pour ne pas être obligé de mettre des tréma au début et à la fin du fichier texte ? ...

merci d'avance

4test.xlsm (31.52 Ko)

salut,

essaies:

Sub Macro1() 

    Range("A1").Select 
    With ActiveSheet.QueryTables.Add(Connection:= _ 
        "TEXT;C:\NOM DU FICHIER", Destination:=Range( _ 
        "A1")) 
        .Name = "test" 
        .FieldNames = True 
        .RowNumbers = False 
        .FillAdjacentFormulas = False 
        .PreserveFormatting = True 
        .RefreshOnFileOpen = False 
        .RefreshStyle = xlInsertDeleteCells 
        .SavePassword = False 
        .SaveData = True 
        .AdjustColumnWidth = True 
        .RefreshPeriod = 0 
        .TextFilePromptOnRefresh = False 
        .TextFilePlatform = 437 
        .TextFileStartRow = 1 
        .TextFileParseType = xlDelimited 
        .TextFileTextQualifier = xlTextQualifierDoubleQuote 
        .TextFileConsecutiveDelimiter = False 
        .TextFileTabDelimiter = False 
        .TextFileSemicolonDelimiter = True 
        .TextFileCommaDelimiter = False 
        .TextFileSpaceDelimiter = False 
        .TextFileColumnDataTypes = Array(1, 1, 1, 1) 
        .TextFileTrailingMinusNumbers = True 
        .Refresh BackgroundQuery:=False 
    End With 
End Sub

A te lire,

Souri84

Rechercher des sujets similaires à "lire csv via macro"