Enregistrer une feuille en txt

  • Initiateur de la discussion Initiateur de la discussion Francois73
  • 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 !

Francois73

XLDnaute Occasionnel
Bonjour à toutes et à tous

j'ai bientôt terminé mon fichier, il me reste à exporter une feuille en txt , le code ci dessous fonctionne
mais je voudrais choisir l'emplacement de l'enregistrement du txt. par defaut il le met dans "mes documents" et je souhaiterai que le fichier txt soit enregistrer à côté du fichier excel soit dans le dossier ouvert .
voici le code

merci pour votre aide
Sub feuiltxt()


Dim wb As Workbook, ws As Worksheet
Dim newWB As Workbook, newWS As Worksheet
Dim strSaveAs As String

On Error GoTo errSave

Application.ScreenUpdating = False

Set wb = ActiveWorkbook
Set ws = ActiveSheet

With ws
.Select
.Copy
End With

Set newWB = ActiveWorkbook
Set newWS = ActiveSheet

strSaveAs = InputBox("Please enter filename.")

With newWB
.SaveAs strSaveAs, xlText
.Close (False)
End With

wb.Activate
ws.Select

exitSave:
Application.ScreenUpdating = True
Exit Sub

errSave:
MsgBox (Err.Number)
MsgBox (Err.Description)
Resume exitSave

End Sub
 
Re : Enregistrer une feuille en txt

Bonjour,

Tu devrai peut-être récupérer le chemin d'où se trouve ton classeur !!
chemin = ActiveWorkbook.Path & "\"
Et ensuite ajouter ce chemin à ton fichier
ActiveWorkbook.SaveAs Filename:= chemin & strSaveAs FileFormat:=xlText, CreateBackup:=False

Bonne fin de journée.

John
 
Re : Enregistrer une feuille en txt

bonjour

désolé je ne sais pas ou placer ce bout de code
le chemin de mon dossier est C:\Users\courbois_f\Documents\ECRITURE EXCEL LACTO
j'ai une erreur avec FileFormat il me demande une fin d'instruction
merci
 
Re : Enregistrer une feuille en txt

Bonsoir à tous

Pour enregistrer une feuille en txt, j'emploierai la méthode ci-dessous si j'étais moi 😉
(je te laisse tester puis adapter selon tes besoins)
Code:
Sub ws2txt()
Dim a As Range, NomFic$
Set a = [A1].CurrentRegion
NomFic = InputBox("Nom de l'enregistrement?" & vbCrLf & vbCrLf & vbTab & "Dossier par défaut: C:\temp", "EXPORT EN TXT", "Ici Saisir NomFichier")
Open "C:\temp\" & NomFic & ".txt" For Output As #1
Print #1, Join(Application.Transpose(a), vbCrLf)
Close #1
End Sub
 
Re : Enregistrer une feuille en txt

bonjour JM

merci pour ta réponse que j'ai essayé mais j'ai une ligne qui bloque c'est celle ci
Print #1, Join(Application.Transpose(a), vbCrLf)

d'autre part je cherche depuis déjà hier et j'ai trouvé en passant par enregistrer sous
voici le code , la boite de dialogue enregistrer sous s'ouvre dans le répertoire par defaut que je lui ai indiqué
Sub Savetxt()
Dim C As Variant
Dim fFilename As String
Dim a As Integer, b As Integer
Dim tmP As String
Dim Separateur As String
'Tu choisis le séparateur de ton choix
Separateur = vbTab
'Plage à copier
With Worksheets("Fichier texte")
C = Range("A1:k625")
End With
Application.DefaultFilePath = "C:\Users\courbois_f\Documents\ECRITURE EXCEL LACTO\lacto siege"
fFilename = _
Application.GetSaveAsFilename(InitialFileName:="R_", _
fileFilter:="Text Files (*.txt), *.txt")
Open fFilename For Output As #1
For a = 1 To UBound(C, 1)
tmP = ""
For b = 1 To UBound(C, 2)
If tmP > "" Then
tmP = tmP & Separateur & C(a, b)
Else
tmP = C(a, b)
End If
Next
Print #1, tmP
Next
Close #1
Erase C
End Sub

je te remercie vivement de ta réponse et te souhaite ainsi qu'a tout le forum une bonne soirée
 
- 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

Discussions similaires

Réponses
7
Affichages
212
Réponses
10
Affichages
281
Réponses
5
Affichages
232
  • Question Question
Microsoft 365 Excel VBA
Réponses
5
Affichages
426
Retour