Exporter des données excel dans un fichier TXT

krisprolss Messages postés 3 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 18 avril 2008 - 4 mars 2005 à 11:38
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 - 5 mars 2005 à 17:18
Bonjour à tous,

J'ai besoin d'exporter le contenu de feuilles Excel dans un fichier TXT. Puisque j'en ai une 20 à a faire quasi quotidiennement je me suis dis que ça pourrait être bien de faire une marco qui le fasse à ma place. Le hic c'est que je ne connais pas trop le VBA et donc je ne sais pas comment faire.
Est-ce que qlq'1 connait qlq ch qui pourrait m'aider?
Merci d'avance

Cristof

5 réponses

gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
5 mars 2005 à 01:00
Salut,

Quand tu ouvres l'éditeur Visual Basic dans Excel, il te permet de gérer les évènements de tes feuilles ou de ton classeur en entier. Tu peux même créer de nouveaux formulaires à intégrer dans ton classeur.
Tu trouveras bien un évènement qui te permetta de coder ton exportation comme en VB normal.

Cordialement,


Grégory GHEZ
Hermes Informatique
0
cqui789 Messages postés 261 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 18 mai 2009 3
5 mars 2005 à 01:33
Si les noms de feuilles et des fichiers sont toujours les memes,
utilise l'enregisteur de macro (outil>macro>Nouvelle Macro)



si non, l'enregisteur de macro a de toute facon l'interet de te donner le nom des commandes a utiliser pour rediger ton programe
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
5 mars 2005 à 16:28
Essaie cette macro (elle fonctionne)

Sub Export()
Range("A1").CurrentRegion.Activate
Dim FileName As String
Dim Data
Dim r As Long, c As Integer
Dim NumRows As Long, NumCols As Integer
Dim ExpRng As Range
Set ExpRng = Application.Selection
NumRows = ExpRng.Rows.Count
NumCols = ExpRng.Columns.Count


FileName = "C:\Mes documents\fichiertexte.txt"
Open FileName For Output As #1
For r = 1 To NumRows
For c = 1 To NumCols
Data = ExpRng.Cells(r, c).Value
If IsNumeric(Data) Then Data = Val(Data)
If IsEmpty(ExpRng.Cells(r, c)) Then Data = ""
If c <> NumCols Then
Write #1, Data
Else
Write #1, Data


End If
Next c
Next r
Close #1
End Sub

jpleroisse
0
cqui789 Messages postés 261 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 18 mai 2009 3
5 mars 2005 à 16:57
jpleroisse> Il
n'y aurrai pas un probleme, les 2 cotes du else sont identiques, a mon
avis tu voulais ajouter la virgule et eviter de retourner a la ligne,
non?



If c <> NumCols Then
Write #1, Data
Else
Write #1, Data



End If

J'aurrai utilise la fonction enregistrer sous - fichier TXT d'excel que l'enregisteur de macro me traduit en VBA par :



ActiveWorkbook.SaveAs FileName:= _

"C:\...\Classeur1.txt" _

, FileFormat:=xlText, CreateBackup:=False
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
5 mars 2005 à 17:18
Non , autan pour moi J'ai oublié de tapper un ; après le premier write

Write #1, Data;
Le ; signifie que le fichier enregistrera ligne après ligne

jpleroisse
0
Rejoignez-nous