Rechercher : dans
Par :

Macro fichier texte

Dernière réponse le 2 sep 2009 à 18:55:20 seb13, le 15 avr 2005 à 09:57:59 
 Signaler ce message aux modérateurs

Bonjour
Je voudrais savoir si quelqu'un peut me donner un coup de main pour faire une macro qui transforme ma page excel en un fichier texte dont les collones sont séparées par des espace et que ce fichier soit du meme type qu'un word pad.
Et je voudrais savoir si la manip inverse( un fichier texte en excel est posssible?)
merci

Meilleures réponses pour « macro fichier texte » dans :
[MS-Dos] Ecrire dans un fichier texte en batch Voir Pour écrire dans un fichier texte, il suffit d'utiliser une redirection ">" : echo texte_à_ecrire > fichier_de_sortie.txt Pour écrire à la fin d'un texte existant (concaténation) : echo "écriture a la fin du fichier ">>...
MySQL - Chargement d'un fichier texte dans une table Voir Pour charger une fichier texte défini comme suit : $ tail /home/user1/test.txt 'nom1',1,9 'nom2',2,3 'nom3',3,54 'nom4',4,2 'nom5',5,9 Dans une table définie comme suit : CREATE TABLE chargertest ( ...
Qu'est-ce qu'un fichier? VoirQu'est-ce qu'un fichier? Un fichier est une suite d'informations binaires, c'est-à-dire une suite de 0 et de 1. Ce fichier peut être stocké pour garder une trace de ces informations. Un fichier texte est un fichier composé de caractères stockés...
Fichier TXT VoirFormat TXT Un fichier TXT est un fichier texte, c'est-à-dire un simple fichier contenant du texte au format ASCII. Pour ouvrir ou modifier un tel fichier, il suffit d'utiliser le bloc-notes ou un éditeur de texte traditionnel.

1

gbinforme, le 15 avr 2005 à 11:00:56

Bonjour

essaie d'enregistrer avec excel sous format .txt, cela devrait aller

un fichier texte en excel c'est possible aussi
et l'assistant d'importation te permet de paramètrer
si cela ne convient pas , le menu données / convertir
permet de dissocier des colonnes.

toujours zen

Répondre à gbinforme

2

Seb13, le 15 avr 2005 à 11:34:56

Moi ce que je voudrais c'est créer un bouton, cliquer dessus et que cele me créé automatiquement un fichier texte ou les collones sont séparées par des espaces et les virgules des nombres transformés en point

Répondre à Seb13

3

tompols, le 15 avr 2005 à 12:13:58

Salut,

Voilà une macro qui fait ce que tu demandes (séparateur colonnes : espace / séparateur décimal ".")
A coller ds un module :

Sub SaveAsTXT()

    With Application
        .DecimalSeparator = "."
        .ThousandsSeparator = " "
        .UseSystemSeparators = False
    End With


 Dim Range As Object, Line As Object, Cell As Object
 Dim StrTemp As String
 Dim Nomfichier As String
 Dim chemin As String

 Dim Separateur As String
 Nomfichier = InputBox("Veuillez entrer le nom de fichier pour la sauvegarde en .txt", "Nom fichier ?")
 chemin = ThisWorkbook.Path & "\"
     Separateur = " "
     Set Range = ActiveSheet.UsedRange

Open chemin & Nomfichier & ".txt" For Output As #1
 For Each Line In Range.Rows
  StrTemp = ""
         For Each Cell In Line.Cells
             StrTemp = StrTemp & CStr _
                 (Cell.Text) & Separateur
         Next
        Print #1, StrTemp '= " "
    Next
Close
    With Application
        .DecimalSeparator = ","
        .ThousandsSeparator = " "
        .UseSystemSeparators = True
    End With


End Sub


A+

Répondre à tompols

4

seb13, le 15 avr 2005 à 13:13:06

Merci je vais essaier

Répondre à seb13

5

seb13, le 15 avr 2005 à 13:17:25

Je suis désolé d'etre un peu lourd mais je me sert rarement de macro et je sait pas comment utiliser cette macro ni si il y a quelque chose à modifier

Répondre à seb13

6

tompols, le 15 avr 2005 à 13:22:18

Re,

OK, dans ton classeur tu fais Alt + F11 => ça ouvre VBE.
Sur la gauche ds l'explorateur de projet, ton fichier apparait comme ceci ; "VBA Project (ton fichier) => click droit dessus puis insertion/module.
Tu vois apparaitre "module 1" => double clique et colle ds la fenetre qui apparait le code....
Ferme ensuite l'éditeur VB puis dans ton fichier Alt + F8, sélectionne la macro SaveAsTXT puis executer....
Et voilà....

A+

Répondre à tompols

7

seb13, le 15 avr 2005 à 13:26:49

Lorsque je fais alt F8 il me marque erreur exécutio 438 propriété ou méthode non généré par cet objet et si je fait débogage il va sur décimalséparator.

Répondre à seb13

8

seb13, le 15 avr 2005 à 13:47:04

J'ai oublié de précisé un détail qui a paut etre de l'imporatance: dans mes collones et lignes j'ai parfois des mots et parfois des chiffres

Répondre à seb13

9

seb13, le 18 avr 2005 à 08:27:56

Bonjour à tous
Le week end à rien changé à mon problème j'ai toujours cette erreur dans la macro que tompols m'a donné et j'aurais vraiment besoin qu'elle marche donc si quelqu'un peut m'aider se serai cool.
merci

Répondre à seb13

10

gbinforme, le 18 avr 2005 à 09:09:32

Bonjour

j'ai le même problème que toi avec cette macro.

je te propose simplement ceci qui fonctionne chez moi :

Sub sav_texte()
ActiveWorkbook.SaveAs Filename:="C:\...\Classeur.txt", _
FileFormat:=xlText, CreateBackup:=False
End Sub


toujours zen

Répondre à gbinforme

11

seb13, le 18 avr 2005 à 09:21:17

Merci pour ta réponse gbinforme
Mais je n'arrive pas a utiliser correctement ta fonction et je voudrais savoir comment l'adapter à mon fichier.

Répondre à seb13

12

tompols, le 18 avr 2005 à 11:49:52

Salut,

Désolé, j'étais pas dispo ce WE....
En supprimant cette histoire de virgule (mais tu devras faire un rechercher/remplacer ds ton fichier txt pour remplacer les points par des virgules; ceci dit ça garde le plus galère : l'espace pour séparer les colonnes)

Sub SaveAsTXT()
  

 Dim Range As Object, Line As Object, Cell As Object
 Dim StrTemp As String
 Dim Nomfichier As String
 Dim chemin As String

 Dim Separateur As String
 Nomfichier = InputBox("Veuillez entrer le nom de fichier pour la sauvegarde en .txt", "Nom fichier ?")
 chemin = ThisWorkbook.Path & "\"
     Separateur = " "
     Set Range = ActiveSheet.UsedRange

Open chemin & Nomfichier & ".txt" For Output As #1
 For Each Line In Range.Rows
  StrTemp = ""
         For Each Cell In Line.Cells
             StrTemp = StrTemp & CStr _
                 (Cell.Text) & Separateur
         Next
        Print #1, StrTemp '= " "
    Next
Close
    

End Sub




A+

Répondre à tompols

13

seb&", le 18 avr 2005 à 12:16:53

C'est cool tompols
ça marche et aprés je fait remplacer , par point.
Une dernière question: est il possible lancé avec un bouton la macro au lieu faire F8
merci

Répondre à seb&"

14

tompols, le 18 avr 2005 à 12:25:44

Salut,

Yes c'est possible :
Ouvre le fichier contenant la macro, click droit sur la barre d'outils puis "Personnaliser". => Dans l'onglet commandes, choisis la catégorie macro puis fais un glisser/déposé du bouton personnalisé sur ta barre d'outils puis ensuite click droit sur le bouton => Affecter une macro et choisis la macro SaveAsTXT.

Et voilà....

A+

Répondre à tompols

15

blueoystercult, le 18 avr 2005 à 12:42:48

Ca va Tom? Guère de nouvelles ces derniers temps... Bonjour chez vous!
Je ne suis pas un n°, je suis un homme libre!

Répondre à blueoystercult

16

tompols, le 18 avr 2005 à 12:45:36

Salut Léo,

Ca va, ça va (tant qi'il nest pas question d'assassiner la musique).....
J'ai peu de temps en ce moment (boulot + musique = nombreux projets à gérer) et en plus j'ai plus de connexion perso, je me connecte du boulot.....
Et toi, comment va ?

Répondre à tompols

17

blueoystercult, le 18 avr 2005 à 12:51:20

Ca va un peu près sauf que mon imprimante est naze et que ça me gêne pour préparer nos artcles. Va voir là, tu as peut-être des commentaires à faire:


--http://www.commentcamarche.net/forum/affich-1330214-Intere­t-pour-les-mp3#2005-04-17%2015%3A46%3A36
Bonjour chez vous!
Je ne suis pas un n°, je suis un homme libre!

Répondre à blueoystercult

18

seb13, le 18 avr 2005 à 12:55:02

Merci pour tous ça marche impeccable.

Répondre à seb13

19

tompols, le 18 avr 2005 à 14:09:51

De rien :-)

A+

Tom

Répondre à tompols

20

maribeg23, le 2 sep 2009 à 11:14:46

Salut,
j'aimerais ecrire une macro qui à partir d'un fichier excel comportant plusieurs colonnes(15) me donne un fichier texte sur une seule colonne et plusieurs lignes(120) (pr une ligne dans le fichier Excel) et chaque ligne est referencé par une information sur les 15 colonnes ou par le vide.
c'est trés urgent merci

Répondre à maribeg23

21

 gbinforme, le 2 sep 2009 à 18:55:20

Bonjour

C'est urgent et tu viens poster dans un sujet qui date de 4 ans : crées toi ta demande à toi et laisse les sujets qui n'ont rien à voir avec ta demande dormir en paix.
Toujours zen

Répondre à gbinforme