Excel vba .csv

aurelie76 -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,

qq'un a-t-il une soluce sur mon problème :

quand je fais tourner ma macro, je converti mon fichier xls en csv, format imposé, le problème c'est qu'il faut convertir .csv en .txt pour être exploité par un autre système. Je ne trouve pas l'instruction permettant de convertir directement .xls en .txt et qui garde ce format

POMME;100782874;025;LTDGTW;LTRFTG
CERISE;100782216;031;LTDGTW;LTRFTG
POIRE;100782990;057;LTDGTW;LTRFTG

de plus on me demande de rajouter un ; devant le premier membre de sorte à obtenir :

;POMME;100782874;025;LTDGTW;LTRFTG
;CERISE;100782216;031;LTDGTW;LTRFTG
;POIRE;100782990;057;LTDGTW;LTRFTG

Merci pour aide,

aurelie


A voir également:

2 réponses

f894009 Messages postés 17413 Statut Membre 1 715
 
Bonjour,

Ce module vous permettra d'ajouter un ";" en début de ligne et de créer un fichier .TXT

Sub traitement()
Chemin_Fichier_CSV="c:\repertoire\nom du fichier.CSV"
Chemin_Fichier_TXT="c:\repertoire\nom du fichier.TXT"
Close
Open Chemin_Fichier_CSV For Input As #1
Open Chemin_Fichier_TXT For Output As #2

Do While Not EOF(1)
Line Input #1, Buffer
Print #2, ";" & Buffer
Loop
Close
End Sub

A vous de le tester et de l'adapter

Bonne continuation
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
J'ai tester cette macros et répond exacr à ce que tu veux..
Sub FichierTxt()
Dim FichIn As Integer, FichOut As Integer, VarS As String
  '  Workbooks("ClasseurHHH.xls").SaveAs Filename:= _
  '      "C:\Répertoir\HHH1.txt", FileFormat:=xlText _
  '      , CreateBackup:=False
  '  Windows("Lire HHH.xls").Activate
    FichIn = FreeFile
    Open "C:\Répertoir\HHH1.txt" For Input As #FichIn
    FichOut = FreeFile
    Open "C:\Répertoir\HHH2.txt" For Output As #FichOut
    While Not EOF(FichIn)
        Line Input #FichIn, VarS
        VarS = ";" & Replace(VarS, Chr(9), ";")
        Print #FichOut, VarS
    Wend
    Close
End Sub


A+
0