Exporter colonne d'un onglet en fichier txt mais

Bonjour à tous,

J'ai parcouru ce forum en quête d'informations. J'ai vu que le sujet avait été traité plusieurs fois, mais je n'arrive pas à l'appliquer à mon problème. Je n'ai jamais étudié le VBA, j'ai pleins de messages d'erreurs et en essayant cela me fait planter l'ordi.

Pour faire simple (enfin je vais essayer...). sur ma "feuille1", je veux mettre un bouton pour lancer la macro qui créera mon fichier txt.

La colonne à sauvegarder dans le fichier texte se situe dans la colonne B (seulement les valeurs non vides) de ma "feuille2".

Je voudrais que chaque cellule de la colonne soit séparée par un saut de ligne dans le fichier texte (B1 saut de ligne B2 saut de ligne ...). (J'avais réussi à générer un fichier texte mais les cellules de ma colonne se retrouvait sur une seule ligne dans le fichier txt, mon ordi a planté et j'ai perdu cette macro).

De plus, est-il possible qu'au moment de cliquer pour générer le fichier txt, l'utilisateur puisse choisir le dossier où sauvegarder et nommer lui-même le nom du texte ? (je ne sais pas si c'est possible). Autre alternative, sauvegarder par défaut dans mes documents mais mettre un message d'erreur si le nom du fichier existe déjà.

Je pense que c'est peut-être trop compliqué.

Merci par avance si vous pouviez me donner quelques indices

Rebonjour,

J'ai en partie réussi grâce à un code trouvé sur un site anglais. Savez-vous comment l'utilisateur de ce fichier peut choisir la destination et le nom du fichier texte ? (ou alors comment enregistrer dans "Mes documents" quel que soit l'ordinateur) ? J'ai spécifié ici le chemin où sauvegarder.

Sub test() Dim rng As Range, lRow As Long Dim stOutput As String, stNextLine As String, stSeparator As String Dim stFilename As String, stEncoding As String Dim fso As Object '------------------------------------------------------------------------------------- 'CHANGE THESE PARAMETERS TO SUIT Set rng = Worksheets("feuille1").Range("B4:B104") 'this is the range which will be written to text file stFilename = "C:\TextOutput.txt" 'this is the text file path / name stSeparator = vbTab 'e.g. for comma seperated value, change this to "," stEncoding = "UTF-8" 'e.g. "UTF-8", "ASCII" '------------------------------------------------------------------------------------- For lRow = 1 To rng.Rows.Count If rng.Columns.Count = 1 Then stNextLine = rng.Rows(lRow).Value Else stNextLine = Join$(Application.Transpose(Application.Transpose(rng.Rows(lRow).Value)), stSeparator) End If If stOutput = "" Then stOutput = stNextLine Else stOutput = stOutput & vbCrLf & stNextLine End If Next lRow Set fso = CreateObject("ADODB.Stream") With fso .Type = 2 .Charset = stEncoding .Open .WriteText stOutput .SaveToFile stFilename, 2 End With Set fso = Nothing End Sub

Rechercher des sujets similaires à "exporter colonne onglet fichier txt"