Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Conversion auto fichier texte en Excel

thermite

XLDnaute Nouveau
Bonjour,

Est-il possible svp d'automatiser la conversion d'un lot de fichiers .txt ou autre texte en excel via une macro, en considérant la limitation des colonnes par les Tabulations et les Espaces.

En fait comme si on ouvrait le doc texte avec excel, et que l'on selectionnait délimitation TAB et Espace pendant l'import. Mais de facon auto sur un grand nombre de fichiers?

Merci de votre aide
 

thermite

XLDnaute Nouveau
Re : Conversion auto fichier texte en Excel

Oui j’essaye de le faire via une macro mais bon c'est plus facile sur le papier!!

En fait tous mes fichiers sont dans un dossier commun, et à la sortie je voudrait que des .xml, soit dans le meme dossier ou bien dans un sous dossier.
 

st007

XLDnaute Barbatruc
Re : Conversion auto fichier texte en Excel

Bonsoir,
Robert m'a fait ce genre de macro,
Mon but était de lancer la macro, selectionner un fichier texte dans un dossier par l'explorateur windows puis la macro me crée autant d'onglets que de fichiers texte...
 

thermite

XLDnaute Nouveau
Re : Conversion auto fichier texte en Excel

Voila le texte.
Par contre il ne sauvegarde pas l'enregistrement en xls.
L'idée serait de le faire sur tous les autres fichiers en auto fichier2 fichier3 ect... a la chaine.

Sub Macro1()
'
' Macro1 Macro
'

'
Workbooks.OpenText Filename:="C:\donnees\fichier1.txt", Origin:=xlMSDOS, _
StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(4, _
1), Array(8, 1), Array(12, 1), Array(23, 1), Array(28, 1)), TrailingMinusNumbers:= _
True
Application.CutCopyMode = False
End Sub
 

thermite

XLDnaute Nouveau
Re : Conversion auto fichier texte en Excel

Par contre je n'ai pas l'impression qu'il comprend "transformer les TAB et espace en colonne" mais il mémorise le numéro du caractère sur la ligne... Donc si on l'applique a un autre fichier ca ne marche pas.
 

tototiti2008

XLDnaute Barbatruc
Re : Conversion auto fichier texte en Excel

Re,

ça aurait dû donner un truc comme ça...

Code:
    Workbooks.OpenText Filename:="C:\Users\toto\Documents\aa.txt", Origin:= _        
xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote _
        , ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, Comma:=False _
        , Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array _
        (3, 1)), TrailingMinusNumbers:=True
    ActiveWorkbook.SaveAs Filename:="C:\Users\toto\Documents\aa.xls", FileFormat _
        :=xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
        False, CreateBackup:=False

Je vois pour boucler sur les fichiers
 

tototiti2008

XLDnaute Barbatruc
Re : Conversion auto fichier texte en Excel

Re,

un essai

Code:
Sub TraiteFicTXT()
Dim DossSource As String, DossDest As String, NomFic As String, Wkb As Workbook
    DossSource = "C:\Users\toto\Documents\" 'dossier contenant les fichiers txt
    DossDest = "C:\Users\toto\Documents\" 'dossier où enregistrer les xls
    NomFic = Dir(DossSource & "*.txt")
    Do Until NomFic = ""
        Workbooks.OpenText Filename:=DossSource & NomFic, Origin:= _
            xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote _
            , ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, Comma:=False _
            , Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array _
            (3, 1)), TrailingMinusNumbers:=True
        Set Wkb = ActiveWorkbook
        Wkb.SaveAs Filename:=DossDest & Left(NomFic, InStrRev(NomFic, ".") - 1) & ".xls", FileFormat _
            :=xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
            False, CreateBackup:=False
        Wkb.Close False
        NomFic = Dir
    Loop
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…