Sauvergarder en tant que copie, une seule feuille, au format TXT

  • Initiateur de la discussion antoine
  • Date de début
A

antoine

Guest
Bonjour bonjour ....

En gros tout est dans le titre mais je m'explique un peu plus. Quand l'utilisateur clique sur le bouton sauver, ça lui sauve sa configuration dans un .txt. ( pour un soucis de place, je trouve ça balot de sauver 4 ligne dans un .xls )
J'etais persuader que le code ci-dessous marchait puisque j'entendais le disque ecrire et que je voyais les fichiers de config se créer ...jusqu'a ce matin ou j'ai jetter un oeil dans un fichier de config : En fait il sauvergade TOUT le classeur, sans le convertir en.txt, donc c'est illisible

enfin bref :

DATA.Select
ActiveWorkbook.SaveCopyAs ("C:\Documents and Settings\Administrateur\Bureau\test\" + CStr(strIdProto) + CStr(NbrConfig) + ".txt")
' les variables srtidproto et Nbrconfig ne sont pas la cause du problème, puisqu'excel créer correctement un fichier avec un nom correspondant.

j'ai aussi essayer ceci : mais ça modifier le classeur en cours, et du coups c'est génant pour la suite :

' DATA.Select
'ChDir "C:\Documents and Settings\Administrateur\Bureau\test"
' ActiveWorkbook.SaveAs Filename:= _
' "C:\Documents and Settings\Administrateur\Bureau\"+cstr(stridproto)+".txt", FileFormat:= _
' xlText, CreateBackup:=False
' DATA.Name = "données"


si quelqu'un a une solution ....
 
A

antoine

Guest
Voici un petit exemple,
Il faut simplement sauver individuellement la feuille DATA ( ou feuil2 ), la transformer au format TXT.
L'endroit ou elle doit etre sauvegarder est toujours le meme.

Merci bien,

Si vous avez une solution mais que c le format TXT qui géne, ça m'interesse aussi ( en fait je n'arrive pas a sauvegarder une seule feuille a la fois )
 

Pièces jointes

  • Sauver.zip
    9.6 KB · Affichages: 16
L

LaurentTBT

Guest
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…
 
@

@+Thierry

Guest
Bonsoir Laurent, Antoine, le Forum

Une autre approche pour créer des TXT à la volé, voir cette démo :

=> Fichier Téléchargeable Lien supprimé (42k)

=> Fil de Discussion Lien supprimé

Vous verrez un ptit bouton "BackUp"...

Bonne Soirée
@+Thierry
 
D

Dop421

Guest
Merci bien thierry, open () ... as # et close() c'est vraimment pratique. je penssais pas que ça existait en VBA. ( faudrais que je me documente avant d'utiliser quelque chose au feeling .. lol )
je l'ai modifier un peu pour l'adapter a ce que je voulais. ça marche très bien pour la sauvergarde, je vais manger et je bricole le chargement cet aprem.


P.S : etant donnée qu'il ya un autre antoine je vais reprendre mon pseudo habituel. c plus simple pour tout le monde
 

Statistiques des forums

Discussions
312 779
Messages
2 092 045
Membres
105 167
dernier inscrit
JulJon2004