Enregistrer feuilles en txt spéarateur tab

Résolu
Ofely26 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
Ofely26 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
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










1 réponse

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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   Statut Membre Dernière intervention   1
 
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 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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   Statut Membre Dernière intervention   1
 
Merci !!
0