Personne n'ayant pu me répondre je suis passé par un autre moyen, je viens simplement l'ajouter au cas ou quelqu'un aurait le même problème :
L'écriture de données excel dans un fichier texte depuis une macro VBA est apparament impossible, du moins je n'ai pas trouvé comment faire.
J'ai donc créé un nouvel onglet dans lequel j'ai collé la plage de donnée sélectionnée sur ma feuille principale, puis j'ai sauvegardé l'onglet en tant que fichier texte. J'ai ensuite supprimé l'onglet.
Au niveau du code ça donne ça :
Sheets.Add.Move After:=Sheets(Sheets.Count) 'rajout de la feuille
ActiveSheet.Name = ("temp1" )
Sheets("Tarif" ).Select
Range(Cells(cat1, 1), Cells(cat1bis - 1, 1)).Select ' sélection de la plage à copier
Selection.Copy
Sheets("temp1" ).Select
ActiveSheet.Paste
Sheets("temp1" ).SaveAs Filename:="C:\a\ref1.txt", FileFormat:=xlTextPrinter, CreateBackup:=False 'enregistrement en tant que fichier texte
Application.DisplayAlerts = False 'suppression de l'onglet temporaire créé (avec désactivation du message "voulez vous supprimer ...)
ActiveSheet.Delete
Application.DisplayAlerts = True