Txt vers csv

cs_Liro Messages postés 159 Date d'inscription jeudi 7 septembre 2006 Statut Membre Dernière intervention 30 septembre 2011 - 22 févr. 2009 à 12:08
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 1 mars 2009 à 23:27
Bonjour,

J'ai un fichier txt contenant du texte séparé par de nombreux espaces.
Je voudrais en faire un fichier compatible excel (avec des colonnes). Il me semble que transformer les espaces par des ; pour en faire un fichier csv serait le plus simple.

Qu'en pensez-vous? Existe-t-il d'autres solutions?
Comment traiter le fichier txt? Je sais comment remplacer les nombreux espaces par des ; avec la fonction Replace mais je ne sais pas comment ouvrir et traiter tout le fichier. Pouvez-vous m'aider SVP?
Merci

Liro

3 réponses

PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
22 févr. 2009 à 17:54
salut,

ah en VBS!!!

umm, en parties détachées, tu as tout sur CODYX.ORG

en VB6 tu as un exemple ici :

http://www.codyx.org/snippet_remplacer-chaine-autre-dans-fichier_187.aspx#598




un petit mélange de 2 3 snippets devrait te donner la solution


<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
22 févr. 2009 à 18:34
je viens de mettre à jour pour VBS
http://www.codyx.org/snippet_remplacer-chaine-autre-dans-fichier_187.aspx#2309

tu as juste à faire une copie de ton fichier de départ en CSV, avec ce snippet :
http://www.codyx.org/snippet_copier-fichier_267.aspx#2310

++

<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 26
1 mars 2009 à 23:27
 Bonsoir,

Résumé des fonctions proposées par PCPT (bonsoir).

Option Explicit
'Utilisation:
'arg1 : fichier en entrée (sFileText)
'arg2 : fichier en sortie (sFileExcel)
'arg3 : caractère à remplacer (sWordsToRemove)
'arg4 : replace arg3 par arg4 (sWordsToChange)
FnExcelImportTextFileTxt "D:\Test.txt", "D:\Test.csv", Space(1), ";"

Function FnExcelImportTextFileTxt(sFileText, sFileExcel, sWordsToRemove, sWordsToChange)
    Dim oFso, oFile, aLineFicTxt, i
    Set oFso = CreateObject("Scripting.FileSystemObject")
    Set oFile = oFso.GetFile(sFileText)
'   Controle existence fichier et fichier non vide
    If oFso.FileExists(sFileText) And oFile.Size <> 0 Then
       Set oFile = oFso.OpenTextFile(sFileText, 1)
'      aLineFicTxt est un tableau contenant toutes les lignes du .txt
'      chaque sWordsToRemove de chaque ligne est remplacé par sWordsToChange
       aLineFicTxt = Split(Replace(oFile.ReadAll,sWordsToRemove , sWordsToChange),vbCrLf)
       oFile.Close

       On Error Resume Next       
'      Controle si fichier en sortie non ouvert pour écriture nouveau fichier
       Set oFile = oFso.CreateTextFile(sFileExcel, True)
       If Err.Number <> 0 Then
          WScript.Echo "Fichier " & sFileExcel & " déjà ouvert" : Err.Clear
       Else
          For i = LBound(aLineFicTxt) To UBound(aLineFicTxt)
              oFile.WriteLine aLineFicTxt(i)
          Next
          oFile.Close
       End If
   Else
       WScript.Echo "Fichier " & sFileText & " inexistant ou vide"
   End If
   Set oFile = Nothing
   Set oFso = Nothing
End Function

jean-marc
0