Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

creer un fichier txt par lignes d'un fichier excel

  • Initiateur de la discussion Initiateur de la discussion thetux07
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

thetux07

Guest
Bonjour a tous,
Je m'explique 🙂 :

j'ai une extraction excel qui comporte 1 colonne et un peu pres 100 lignes :

ligne 1
ligne 2
ligne 3
.......

et je voudrai créer un fichier texte pour chaque lignes :

ligne 1.txt, ligne 2.txt, ligne 3.txt

je ne sais pas si j'ai été tres claire :s
merci d'avance !!😀
 
Re : creer un fichier txt par lignes d'un fichier excel

Bonjour thetux07,

Il faudra passer par une macro.
Je t'invite à créer un module et à y insérer ceci :

Code:
Sub creer()
    chemin = "D:\" 'Destination des fichiers .txt
    i = 2 'Ligne de début de la création de fichier .txt
    While (Cells(i, 1) <> "") 'On commence par bouclé tant qu'il existe une ligne comportant des données
        Open chemin & Cells(i, 1) & ".txt" For Output As #1 'On créer un fichier txt
        Close 'on le ferme proprement
        i = i + 1 'on passe a la ligne suivante
    Wend
End Sub

Bien cordialement,
i2a 🙂
 
Dernière modification par un modérateur:
Re : creer un fichier txt par lignes d'un fichier excel

Bonjour Thetux07

Bienvenu sur ce forum
avant toute chose, ta demande est claire: tu veux récuperer un nom de fichier (Ligne1 ligne2...) dans une colonne
et créer des fichiers texte avec ces noms..

avec un fichier exemple de ton besoin, ca nous permettrait de faire une proposition qui correspond directement à ton besoin

par exemple ici

Code:
Sub Macro1()
'
' Macro1 Macro
'
' récupère le nom du fichier dans la cellule A2
    
    NomFichier = Range("A2")
'donne le chemin du répertoire de sauvegarde
    Chemin = "C:\"
    CheminComplet = Chemin & NomFichier & ".txt"
    'sauvegarde au format .txt du fichier
    ActiveWorkbook.SaveAs Filename:=CheminComplet, FileFormat:=xlText, CreateBackup:=False
End Sub
 
Re : creer un fichier txt par lignes d'un fichier excel

Bonjour à tous

Une autre macro possible
(Merci à AlphaFrog pour son code que j'ai à peine remanié)
Code:
Sub Cells2Txt()
Dim cell As Range, FF&, Counter&
For Each cell In Range("A1", Range("A" & Rows.Count).End(xlUp))
    If Len(cell) > 0 Then
        FF = FreeFile()
        Open ThisWorkbook.Path & "\" & Range("A" & cell.Row).Value & ".txt" For Output As #FF
        Print #FF, cell.Text
        Close #FF
        Counter = Counter + 1
    End If
Next cell
MsgBox Counter & " fichiers créés. ", , "Fin de traitement"
End Sub
 
Dernière édition:
Re : creer un fichier txt par lignes d'un fichier excel

impeccable, la deuxieme macro est celle qu'il me faut merci !
au cas où 🙂 peut t'on remplir ces fichiers nouvellement crées par un texte prédéfini ?
Apres j'arretes de vous embêtez 🙂
Merci beaucoup en tout cas 🙂
 
Re : creer un fichier txt par lignes d'un fichier excel

Avec mon morceau de code oui c'est faisable assez facilement :

Code:
Sub creer()
    chemin = "D:\" 'Destination des fichiers .txt
    i = 2 'Ligne de début de la création de fichier .txt
    While (Cells(i, 1) <> "") 'On commence par bouclé tant qu'il existe une ligne comportant des données
        Open chemin & Cells(i, 1) & ".txt" For Output As #1 'On créer un fichier txt
        Print "Mon Texte contenu", chemin & Cells(i, 1) & ".txt" 
        Close 'on le ferme proprement
        i = i + 1 'on passe a la ligne suivante
    Wend
End Sub

Avec la ligne :
Code:
Print "Mon Texte contenu", chemin & Cells(i, 1) & ".txt"
 
Re : creer un fichier txt par lignes d'un fichier excel

Bonjour à tous

impeccable, la deuxieme macro est celle qu'il me faut merci !
au cas où 🙂 peut t'on remplir ces fichiers nouvellement crées par un texte prédéfini ?

1) Au cas où quoi ?

2) Remplir par un texte prédéfini ?
Dans ce cas doit-on comprendre que que le contenu des cellules ne servira qu'à nommer les fichiers, et que la valeur contenue dans chaque fichier texte ne sera que celle du texte prédéfini ?
 
Re : creer un fichier txt par lignes d'un fichier excel

Re


thetuxO7
Je suppose que ton dernier message répondait à celui de i2a, non ?
Si oui, peux-tu répondre aux questions de mon précédent message, stp ?
Si non, ta réponse ne m'éclaire pas vraiment.
 
Re : creer un fichier txt par lignes d'un fichier excel

C'était pour vous 2 :
1) Au cas où quoi ?

Au cas où c'est faisable

2) Remplir par un texte prédéfini ?
Dans ce cas doit-on comprendre que que le contenu des cellules ne servira qu'à nommer les fichiers, et que la valeur contenue dans chaque fichier texte ne sera que celle du texte prédéfini ?

c'est tout à fait ça 🙂

mais du coup la réponse d'i2a est parfaite merci encore 🙂 !!
 
Re : creer un fichier txt par lignes d'un fichier excel

Salut, voir l'aide en ligne
extrait :
 
Re : creer un fichier txt par lignes d'un fichier excel

en fait ça ne marche pas! désolé... la macro de AlphaFrog est parfaite, mais il me faudrait un contenu qui sera le même pour tout les fichiers... je sais je suis lourd désolé 🙁
 
Re : creer un fichier txt par lignes d'un fichier excel

Re

thetux07

Tout était déjà dans le post, non ?
Il suffit de mixer ce que disait i2a précédemment et ma macro précédente, sans oublier les précisions apportées par kiki29
Code:
Sub Cells2Txt()
Dim cell As Range, FF&, Counter&
For Each cell In Range("A1", Range("A" & Rows.Count).End(xlUp))
    If Len(cell) > 0 Then
        FF = FreeFile()
        Open ThisWorkbook.Path & "\" & Range("A" & cell.Row).Value & ".txt" For Output As #FF
        Print #FF, "Texte prédéfini"
        Close #FF
        Counter = Counter + 1
    End If
Next cell
MsgBox Counter & " fichiers créés. ", , "Fin de traitement"
End Sub

PS
: test OK sur mon PC avec un fichier Excel avec toto1 en A1, toto2 en A2, toto3 en A3
j'obtiens toto1.txt, toto2.txt et toto3.txt.
Chacun de ces fichiers contenant comme seule donnée: Texte prédéfini

C'est bien le résultat que tu souhaites obtenir ?
 
Dernière édition:
Re : creer un fichier txt par lignes d'un fichier excel

effectivement ça fonctionne avec du texte merci merci 😀
Maintenant est il possible qu'a la place du texte, jepuisse inserer du code code vb ?
admet-on que dans tous mes fichiers je veux avoir ça :

Set objNetwork = CreateObject("WScript.Network")
' Imprimantes à connecter
objNetwork.AddWindowsPrinterConnection ""
'Imprimante par défaut si définie
objNetwork.SetdefaultPrinter ""

Est ce possible ou du vb dans du vb ça ne colle pas ?!
merci en tout cas ça m’enlève déjà une bonne épine du pied !!
 
Re : creer un fichier txt par lignes d'un fichier excel

Bonjour à tous


thetux07
Dans un premier temps, il serait utile que tu précises exactement ce que tu souhaites faire, non ?

*S'il s'agit d'insérer des lignes de code VBA dans N classeurs, on est parti sur la mauvaise voie.

Donc merci d'être précis et détaillé dans ce que tu souhaites faire.

NB: *: Tu trouveras dans les archives du forum, de nombreux fils qui traitent de l'importation de code VBA dans le projet VBA de plusieurs classeurs par le biais de macros.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
19
Affichages
805
Réponses
23
Affichages
475
Réponses
6
Affichages
264
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…