Exporter une feuille Excel dans un fichier texte (.txt)

troopers87

XLDnaute Occasionnel
Bonjour à tous,

je sais bien que sur internet, le sujet a été abordé de nombreuses fois. Mais impossible de trouver une solution qui me convienne, voir qui fonctionne.

J'ai une feuille Excel avec des données... tout ce qu'il y a de plus standard ! Je souhaiterais que l'utilisateur puisse lancer une macro qui crée directement le fichier texte sur le bureau. Comme l'utilisateur est supposé novice, l'idée est qu'il ne rencontre aucune boîte de dialogue pendant la procédure.

Je vous joins un fichier Exemple pour la forme. Je ne sais vraiment pas comment commencer, l'enregistreur de macro me fait des choses... bizarre !

Merci d'avance pour toute votre aide.
 

Pièces jointes

  • Exemple v1.xlsm
    8.9 KB · Affichages: 51
  • Exemple v1.xlsm
    8.9 KB · Affichages: 56
  • Exemple v1.xlsm
    8.9 KB · Affichages: 59

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Exporter une feuille Excel dans un fichier texte (.txt)

Bonsoir,

Code:
Sub ExportTxtChamp()
  repertoire = ThisWorkbook.Path
  Open repertoire & "\x.txt" For Output As #1
  Set champ = [A1].CurrentRegion
  For lig = 1 To champ.Rows.Count
    ligne = ""
    For col = 1 To champ.Columns.Count
      ligne = ligne & champ.Cells(lig, col) & ";"
    Next col
    Print #1, Left(ligne, Len(ligne) - 1)
  Next lig
  Close #1
End Sub

JB
 

troopers87

XLDnaute Occasionnel
Re : Exporter une feuille Excel dans un fichier texte (.txt)

Bonjour,

effectivement JBARBE, je comprends ta frustration de voir se multiplier les mêmes post indéfiniment... Imagine la mienne qui fait une recherche internet pour résoudre mon problème... peine à trouver une solution... tente pendant une demi-heure de trafiquer du code sans parvenir à avancer... Je ne défends pas les gens qui postent sans faire de recherche, mais souvent, les problèmes sont différents et il est difficile de trouver une solution qui y corresponde parfaitement. Encore une fois, je te comprends et je m'excuse.

Merci JB pour ta réponse qui réponds parfaitement à mon besoin ! Par contre, j'ai du mal à en comprendre toute la signification... T'est-il possible de "traduire" le code pour comprendre à quoi sert chaque ligne ?

Merci encore !
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Exporter une feuille Excel dans un fichier texte (.txt)

Code:
Sub ExportTxtChamp()
  repertoire = ThisWorkbook.Path               ' répertoire du fichier Excel
  Open repertoire & "\x.txt" For Output As #1  ' création d'un fichier séquentiel
  Set champ = [A1].CurrentRegion               ' champ à exporter
  For lig = 1 To champ.Rows.Count              ' parcours de chaque ligne
    ligne = ""
    For col = 1 To champ.Columns.Count         ' parcours de chaque colonne
      ligne = ligne & champ.Cells(lig, col) & ";"  ' ; pour séparer les champs
    Next col
    Print #1, Left(ligne, Len(ligne) - 1)      ' écriture d'une ligne dans le fichier
  Next lig
  Close #1
End Sub
'
' on obtient:

' Mois;Nombre
' Janvier;1
' Février;2
' Mars;3

cf Fichiers séquentiels

JB
 

Discussions similaires

Réponses
2
Affichages
307

Statistiques des forums

Discussions
312 368
Messages
2 087 658
Membres
103 632
dernier inscrit
pacomahe