Mettre le contenu texte d'une cellule dans un fichier texte

Bonjour a tous,

j'aimerais mettre le contenu de la cellule de la colonne A de la ligne active dans un fichier texte. Le nom de fichier pourrait etre fixe pour le moment.

Merci!

Bonjour

une proposition

Sub creer_txt()
   'chemin + nom du fichier à creer
    FichierTXT = "C:\Users\Fred\Downloads\test.txt"
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set NewFichier = fso.CreateTextFile(FichierTXT, True)
    'écriture du contenu de la cellule Ligne active colonne A
    NewFichier.WriteLine (Cells(ActiveCell.Row, "A").Value)
    'fermeture fichier
    NewFichier.Close
End Sub

Fred

Allo Fred, .writeline j'imagine que ca va tout mettre sur une seule ligne. Je met se post pour mon neveu qui a un stage et doit faire des truc en VBA. Moi je suis meilleur que lui mais ca me prend toujours un peu d'aide pour partir, lol.

Si je veux un nom de fichier différent pour chaque ligne par exemple en incluant dans le nom le numéro de ligne, je fais comment?

Peut etre que dans une éventuel colonne B, le nom des clients pourrait y etre et ainsi devenir le nom de fichier.

Bon alors là il faut encore quelques précisions...

tu veux faire la création d'un fichier txt à l'unité cad choisir une cellule et faire un fichier txt pour cette ligne particulière ou faire à la volée, un fichier txt pour toutes les lignes d'un tableau ??

supposons que c'est la première idée, il faut donc changé le nom de fichier

    FichierTXT = "C:\Users\Fred\Downloads\test.txt"

par exemple

    FichierTXT = "C:\Users\Fred\Downloads\" & Cells(ActiveCell.Row, "B").Value & " ligne " & ActiveCell.Row & ".txt"

Fred

faire un fichier txt pour une ligne a la volée.

Fred, j'ai essayé ton code en prenant soins de changer le path pour le mien, mais j'ai une erreur Permission refusée a la ligne set NewFichier

Sub creer_txt()

'chemin + nom du fichier à creer

FichierTXT = "C:\Marco.txt"

Set fso = CreateObject("Scripting.FileSystemObject")

Set NewFichier = fso.CreateTextFile(FichierTXT, True)

'écriture du contenu de la cellule Ligne active colonne A

NewFichier.WriteLine (Cells(ActiveCell.Row, "A").Value)

'fermeture fichier

NewFichier.Close

End Sub

cela ressemble à un problème de droit NTFS sur le disque C, les utilisateurs et parfois les programmes n'ont pas le droit d’écriture du C:\

il faut utiliser un autre dossier par exemple le dossier téléchargements comme moi

alors pour une création de plusieurs fichiers a la volée à partir d'une table ...

Sub creer_txt()
   'chemin + nom du fichier à creer
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
        FichierTXT = "C:\Users\Fred\Downloads\" & Cells(i, "B").Value & "ligne " & i & ".txt"
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set newfichier = fso.CreateTextFile(FichierTXT, True)
        'écriture du contenu de la cellule A1
        newfichier.WriteLine (Cells(i, "A").Value)
        'fermeture fichier
        newfichier.Close
        Set newfichier = Nothing
    Next
End Sub 

Fred

Oh merci Fred, la ca marche!

Je valide avec lui et je t'en redonne des nouvelles, mais c'est vraiment ca je pense!

Sub creer_txt()

'chemin + nom du fichier à creer

'FichierTXT = "C:\Marco.txt"

FichierTXT = "C:\Marco\" & Cells(ActiveCell.Row, "B").Value & " ligne " & ActiveCell.Row & ".txt"

Set fso = CreateObject("Scripting.FileSystemObject")

Set NewFichier = fso.CreateTextFile(FichierTXT, True)

'écriture du contenu de la cellule Ligne active colonne A

NewFichier.WriteLine (Cells(ActiveCell.Row, "A").Value)

'fermeture fichier

NewFichier.Close

End Sub

intéressant le code pour écrire a la volée, tout les fichiers. Merci!

A+

Rechercher des sujets similaires à "mettre contenu texte fichier"