Imprimer dans un fichier

S

Sylvain

Guest
Bonjour le forum.
Exite - il du code en VBA pour donner l'ordre dans une macro d'imprimer dans un fichier.
Pour l'instant j'imprime sur papier
Selection.PrintOut Copies:=1, Collate:=True
 
S

sylsyl

Guest
Salut Sylvain,

Le plus simple est “d’imprimer” dans un fichier .txt (ou .dat c’est pareil).

Pour ecrire dans un .txt:

Open “C:\my_file.txt” For Output as #1
Print #1, String1
Print #1, String2
Etc..
Close #1

“Print” imprime sur une ligne.

Output efface tout ce qu’il y avait dans my_file.txt, pour mettre a la suite, utilise “Append”

Et pour lire:
Open “c:\my_file.txt” For Input as #1
Input #1, data
Input #1, data2
Etc…
Close #1

Dans cet exemple tu auras data = string1 et data2 = string2

Si tu as plusieurs lignes utilise
Do while not EOF(1)
EOF signifie End Of File, ici du fichier “1”

C’est comme ca que ca marche pour les “strings”.
Pour enregistrer un tableau (avec VB6 parce qu’avec Excel c’est assez evident), je mets les dimensions du tableau sur la premiere ligne puis rentre les donnees; une donnee par ligne de mon txt.(Note: ce n’est pas parce qu’un txt a beaucoup de lignes qu’il est forcement volumineux !)

Ou alors tu peux sauver ton classeur (ou tout autre fichier Office) avec la fonction “SaveAs” largement utilisee et expliquee sur ce forum.

Voila, la reponse est aussi generale que ta question.
Si tu veux plus d'infos donne plus de precisions.

N'hesites pas a revenir.

A++, Sylvain
 
S

sylsyl

Guest
Salut Ti,

je viens d'essayer mais le fichier s'enregistre en .prn, comment fait-on pour l'ouvrir ulterieurement (avec VBA) et reutiliser les donnees ?

Si c'est possible ca ameliorera beaucoup ma methode "basique".

Merci,

A++, Sylsyl.
 

Discussions similaires

Réponses
4
Affichages
367
Réponses
16
Affichages
753

Statistiques des forums

Discussions
312 320
Messages
2 087 218
Membres
103 497
dernier inscrit
JP9231