Bonjour à tous,
Je suis justement en train d'écrire une macro pour sauvegarder une feuille au format .txt, et si j'ai bien compris:
- On ne peut sauvegarder qu'une seule feuille (ce qui est logique)
- Une fois la commande ActiveWorkbook.SaveAs Filename:=Chemin & nom
, FileFormat:=xlText, CreateBackup:=False effectuée: il y a bien dans le répertoire chemin un fichier .txt de crée
- Le classeur excel se retrouve lui-même avec le nom qu'on a donné au fichier .txt, et a perdu son ancien nom si différent,
- Le classeur est toujours considéré comme un .txt, et non un .xls.
Pour retrouver le classeur original, il faut soit fermer tout, puis rouvrir le classeur .xls initial,
soit re-sauvegarder le classeur avec son ancien nom en temps que classeur excel.
Autre solution: copier la feuille dans un nouveau classeur et enregistrer ce nouveau classeur comme .txt, puis le fermer sans l'enregistrer.
Ce qui donne, dans mon cas, et j'en suis satisfait:
Application.Workbooks.Add
Range("A1").PasteSpecial xlPasteValues '(j'ai copié auparavant les données qui m'intéressent)
ActiveWorkbook.SaveAs Filename:=Chemin & "\" & NomFichier _
, FileFormat:=xlText, CreateBackup:=False
ActiveWorkbook.Close False
En espérant que cela vous aidera…