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 Subbonjour,
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.