Enregistrer feuilles en txt spéarateur tab

Résolu/Fermé
Ofely26 Messages postés 5 Date d'inscription vendredi 26 juin 2015 Statut Membre Dernière intervention 13 septembre 2018 - 13 sept. 2018 à 08:38
Ofely26 Messages postés 5 Date d'inscription vendredi 26 juin 2015 Statut Membre Dernière intervention 13 septembre 2018 - 13 sept. 2018 à 14:50
Bonjour,

Je sais que beaucoup de post parle de cela. Mais je n'arrive pas à terminer cette macro....
J'ai un classeur excel (.xls) sur lequel j'ai une macro me permettant de faire des formules, du tri, etc.
A la fin, elle me permet d'enregistrer automatiquement toutes les feuilles de ce classeur dans des classeurs séparés au format .xls sur mon ordinateur.
Par contre, moi j'aimerai qu'elle me l'enregistre au format .txt avec séparateur de tabulation. J'ai essayé plusieurs macros proposés sur internet... mais j'ai toujours un message d'erreur...

Voici la fin de ma macro me permettant l'enregistrement :

' MACRO ENREGISTRER ONGLETS DANS FICHIERS A PART

For Each Feuille In ActiveWorkbook.Sheets
Feuille.Copy
With ActiveWorkbook
.Title = Feuille.Name
.Subject = Feuille.Name
.SaveAs Filename:=Feuille.Name + ".xls"
End With

Next

End Sub










A voir également:

1 réponse

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
13 sept. 2018 à 11:02
Bonjour,

comme ceci:

Dim Feuille As Worksheet
For Each Feuille In ActiveWorkbook.Sheets
Feuille.Copy
With ActiveWorkbook
.Title = Feuille.Name
.Subject = Feuille.Name
 .SaveAs Filename:=ThisWorkbook.Path & "\" & Feuille.Name & ".txt", _
        FileFormat:=xlText, CreateBackup:=False
End With
ActiveWorkbook.Close
Next



0
Ofely26 Messages postés 5 Date d'inscription vendredi 26 juin 2015 Statut Membre Dernière intervention 13 septembre 2018 1
13 sept. 2018 à 13:38
Merci beaucoup !

Par contre, maintenant au moment de l'enregistrement il m'ouvre des fenetres me demandant si je suis sûre de bien vouloir enregistrer les modifications et me demande l'emplacement. Comment automatiser cela aussi....?
Car avant, cela fonctionnait, est-ce parce qu'on a rajouté "ActiveWorkbook.Close" ?
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
Modifié le 13 sept. 2018 à 14:12
Comme ceci:

pour le format xls c'est ce code:

Dim Feuille As Worksheet
Application.DisplayAlerts = False
For Each Feuille In ActiveWorkbook.Sheets
Feuille.Copy
With ActiveWorkbook
.Title = Feuille.Name
.Subject = Feuille.Name
 .SaveAs Filename:=ThisWorkbook.Path & "\" & Feuille.Name & ".txt", _
        FileFormat:=xlText, CreateBackup:=False
 .SaveAs Filename:=ThisWorkbook.Path & "\" & Feuille.Name & ".xls", _
        FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
         .Close
End With
Next
Application.DisplayAlerts = True


pour le format xlsx c'est ce code:

Dim Feuille As Worksheet
Application.DisplayAlerts = False
For Each Feuille In ActiveWorkbook.Sheets
Feuille.Copy
With ActiveWorkbook
.Title = Feuille.Name
.Subject = Feuille.Name
 .SaveAs Filename:=ThisWorkbook.Path & "\" & Feuille.Name & ".txt", _
        FileFormat:=xlText, CreateBackup:=False
.SaveAs Filename:=ThisWorkbook.Path & "\" & Feuille.Name & ".xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
.Close
End With
Next
Application.DisplayAlerts = True


@+ Le Pivert
0
Ofely26 Messages postés 5 Date d'inscription vendredi 26 juin 2015 Statut Membre Dernière intervention 13 septembre 2018 1
13 sept. 2018 à 14:50
Merci !!
0