Conversion lots .xlsx en .txt

Bonjour,

Je souhaiterais convertir en masse des fichiers Excel en .txt

L'idée serait de choisir le répertoire contenant les fichiers Excel et de les convertir en TXT. Les nouveaux dossiers, convertis, seraient conserver dans le même répertoire.

J'avais trouvé un code qui faisait la conversion de XLSX vers CSV.

Je voudrais la même chose de XLSX vers TXT. J'ai essayé d'adapter le code ci_dessous, sans succès.

Je vous remercie de votre aide.

Sub WorkbooksSaveAsCsvToFolder()

'UpdatebyExtendoffice20181031

Dim xObjWB As Workbook

Dim xObjWS As Worksheet

Dim xStrEFPath As String

Dim xStrEFFile As String

Dim xObjFD As FileDialog

Dim xObjSFD As FileDialog

Dim xStrSPath As String

Dim xStrCSVFName As String

Dim xS  As String

    Application.ScreenUpdating = False

    Application.EnableEvents = False

    Application.Calculation = xlCalculationManual

    Application.DisplayAlerts = False

    On Error Resume Next

Set xObjFD = Application.FileDialog(msoFileDialogFolderPicker)

    xObjFD.AllowMultiSelect = False

    xObjFD.Title = "SELECTIONNEZ LE DOSSIER CONTENANT LES FICHIERS EXCEL A CONVERTIR EN CSV"

    If xObjFD.Show <> -1 Then Exit Sub

    xStrEFPath = xObjFD.SelectedItems(1) & "\"

    Set xObjSFD = Application.FileDialog(msoFileDialogFolderPicker)

    xObjSFD.AllowMultiSelect = False

    xObjSFD.Title = " SELECTIONNEZ L'EMPLACEMENT DE SAUVEGARDE DES FICHIERS CSV "

    If xObjSFD.Show <> -1 Then Exit Sub

    xStrSPath = xObjSFD.SelectedItems(1) & "\"

    xStrEFFile = Dir(xStrEFPath & "*.xls*")

    Do While xStrEFFile <> ""

       xS = xStrEFPath & xStrEFFile

        Set xObjWB = Application.Workbooks.Open(xS)

        xStrCSVFName = xStrSPath & Left(xStrEFFile, InStr(1, xStrEFFile, ".") - 1) & ".csv"

        xObjWB.SaveAs Filename:=xStrCSVFName, FileFormat:=xlCSV

        xObjWB.Close savechanges:=False

        xStrEFFile = Dir

  Loop

    Application.Calculation = xlCalculationAutomatic

    Application.EnableEvents = True

    Application.ScreenUpdating = True

    Application.DisplayAlerts = True

End Sub

bonjour,

Quelle différence fais-tu entre un fichier CSV et un fichier TXT ?

remplace cette instruction

xStrCSVFName = xStrSPath & Left(xStrEFFile, InStr(1, xStrEFFile, ".") - 1) & ".csv"

par

xStrCSVFName = xStrSPath & Left(xStrEFFile, InStr(1, xStrEFFile, ".") - 1) & ".txt"

tes fichiers auront l'extension txt.

Merci Acide sulfurique,

J'ai suivi tes indications. Le code a été mis à jour. Tout fonctionne selon les attentes. Merci beaucoup.

En ce qui concerne ta question, "Quelle différence fais-tu entre un fichier CSV et un fichier TXT ?" >>> Je dois intégrer plusieurs fichiers Excel dans une application qui n'accepte que le format .txt .

Effectivement, en y regardant de plus près, grâce à ta pertinente question, le séparateur "," est identique aux deux formats.

Je te remercie.

C'est résolu.

Rechercher des sujets similaires à "conversion lots xlsx txt"