Passage du format *.xls au format *.txt

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

Thomas

Guest
Je cherche à réaliser une macro qui me permettrait d'enregistrer un document Excel sous un format text, sans générer de guillemets au début et à la fin de chaque ligne cf. fichier test.txt en pièce jointe.
Merci de votre aide.

Thomas
 

Pièces jointes

Salut Thomas,

Cette procédure te permettra d'enregistrer le texte tel quel :

Private Sub CommandButton1_Click()
Dim F As String, Ligne As Long, Temp As String
'Adapter le chemin
F = "D:\HC\Excel\ForumXLD\MonTexte.txt"
Open F For Output As #1
Ligne = 4
Do
Ligne = Ligne + 1
Temp = Range("D" & CStr(Ligne)).Text
If Temp = "" Then Exit Do
Print #1, Temp
Loop
Close
End Sub

A+
LN
 

Pièces jointes

Re: Passage du format *.xls au format *.txt Amélioration

Salut à tous


j’aimerais améliorer la macro ci-dessus….
Mon problème est le suivant je voudrais pouvoir changer le nom de mon fichier texte avec une boite de dialogue ou l’utilisateur choisirait le nom du fichier, si ce n’est pas possible en ajoutant au moins la date du jour au nom du fichier texte afin qu’il puisse conserver un historique des fichier générés.

Merci d’avance.

Thomas

PS : à quoi correspond le #1 dans le code ? quelle type de variable est ce ? peut on le remplacer par un autre nom plus explicite ?
 
Hello Thomas, Amiral, le Forum

Voici le code de LN modifé afin de d'obtenir une boite de dialogue, laquelle te proposera de sauver le TXT dans le même répertoire que le classeur où se trouvera le code, et te proposera aussi automatquement le nom de fichier "TheTxtBackUp-YYYY-MM-DD" avec donc la date du jour.

Sub RebuildTXT()
Dim TheLine As Integer
Dim TheText As String, ThePath As String, TheName As String
Dim TheFullPath As Variant

TheName = "TheTxtBackUp-" & Format(Date, "YYYY-MM-DD")

ThePath = ThisWorkbook.Path & "\"
TheFullPath = Application.GetSaveAsFilename(ThePath & TheName, "Fichier,*.txt")
If TheFullPath = False Then Exit Sub

Open TheFullPath For Output As #1
TheLine = 4
Do
TheLine = TheLine + 1
TheText = Range("D" & CStr(TheLine)).Text
If TheText = "" Then Exit Do
Print #1, TheText
Loop
Close
End Sub



Pour ta question sur le #1, c'est le FileNumber, un numéro indispensable qui peut se situer entre 1 et 511 pour ouvrir un fichier (de 1 à 255 pour des fichiers non-accessible par d'autres application et de 256 à 511 pour les fichiers accessible depuis d'autres applications. On peut aussi utiliser FreeFile pour obtenir un numéro disponible dans le cas d'un travail simultanée sur plusieurs fichiers... (Voir Aide VBA à "Open Statement")

Dans ton cas c'est une utilisation simple, inutile de changer quoique ce soit dans les FileNumbers.

Bon Appétit
@+Thierry
 
- 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
2
Affichages
670
  • Question Question
XL 2019 VBA
Réponses
10
Affichages
1 K
Réponses
5
Affichages
1 K
Retour