Microsoft 365 Enregister une feuille Excel sous forme d'un fichier .txt

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 !

ilyas_

XLDnaute Nouveau
Bonjour, j'ai une feuille excel avec des cellules qui contiennent des fonctions CONCATENER que je veux enregistrer sous un fichier .txt

Par exemple : =CONCATENER("<?xml version=";CAR(34);"1.0";CAR(34);" encoding=";CAR(34);"UTF-8";CAR(34);"?>")

Mon problème est que sur excel la cellule affiche correctement : <?xml version="1.0" encoding="UTF-8"?>

Par contre sur le fichier .txt ça me donne : <?xml version=""1.0"" encoding=""UTF-8""?>

Y a t-il une solution pour enlever les guillemets en trop sur le fichier .txt
 
Bonjour ilyas_,
un rechercher "" remplacer par " ne suffit-il pas?

1610723153345.png

 
Bonjour, j'ai une feuille excel avec des cellules qui contiennent des fonctions CONCATENER que je veux enregistrer sous un fichier .txt

Par exemple : =CONCATENER("<?xml version=";CAR(34);"1.0";CAR(34);" encoding=";CAR(34);"UTF-8";CAR(34);"?>")

Mon problème est que sur excel la cellule affiche correctement : <?xml version="1.0" encoding="UTF-8"?>

Par contre sur le fichier .txt ça me donne : <?xml version=""1.0"" encoding=""UTF-8""?>

Y a t-il une solution pour enlever les guillemets en trop sur le fichier .txt
Bonsoir,

Je pense qu'un fichier texte ne peut pas contenir de formule. Il te suffirais peut-être de faire un copier/ collage spécial valeur et ensuite exporter la feuille au format txt.

Bonne soirée.
 
Une solution qui devrait vous plaire davantage :

- avec le bloc-notes créez un fichier texte .txt vierge

- collez cette macro dans le VBA du fichier Excel et exécutez-la :
VB:
Sub Export_TXT()
Dim fichier, tablo, i&
fichier = Application.GetOpenFilename("Fichier texte, *.txt")
If fichier = False Then Exit Sub
tablo = [A1].CurrentRegion.Resize(, 2) 'matrice, plus rapide, au moins 2 éléments
'Open fichier For Output As #1 'ceci
Open fichier For Append As #1 'ou cela
For i = 1 To UBound(tablo)
    Print #1, tablo(i, 1)
Next
Close #1
End Sub
Les guillemets ne sont pas doublés.
 
Dernière édition:
Bonjour ilyas_, le forum,

Il vaut mieux faire créer le fichier Texte par la macro, voyez le fichier joint :
VB:
Sub Export_TXT()
Dim fichier$, tablo, i&
fichier = ThisWorkbook.Path & "\Fichier TXT.txt" 'dossier et nom à modifier éventuellement
Application.ScreenUpdating = False
Application.DisplayAlerts = False 'si le fichier a déjà été créé
ActiveSheet.Copy 'nouveau document
ActiveWorkbook.SaveAs fichier, xlText 'crée le fichier Texte
ActiveWorkbook.Close 'ferme le document
tablo = [A1].CurrentRegion.Resize(, 2) 'matrice, plus rapide, au moins 2 éléments
Open fichier For Output As #1 'rouvre le fichier Texte en effaçant son contenu
For i = 1 To UBound(tablo)
    Print #1, tablo(i, 1) 'nouveau contenu
Next
Close #1
End Sub
A+
 

Pièces jointes

Bonjour ilyas_, le forum,

Il vaut mieux faire créer le fichier Texte par la macro, voyez le fichier joint :
VB:
Sub Export_TXT()
Dim fichier$, tablo, i&
fichier = ThisWorkbook.Path & "\Fichier TXT.txt" 'dossier et nom à modifier éventuellement
Application.ScreenUpdating = False
Application.DisplayAlerts = False 'si le fichier a déjà été créé
ActiveSheet.Copy 'nouveau document
ActiveWorkbook.SaveAs fichier, xlText 'crée le fichier Texte
ActiveWorkbook.Close 'ferme le document
tablo = [A1].CurrentRegion.Resize(, 2) 'matrice, plus rapide, au moins 2 éléments
Open fichier For Output As #1 'rouvre le fichier Texte en effaçant son contenu
For i = 1 To UBound(tablo)
    Print #1, tablo(i, 1) 'nouveau contenu
Next
Close #1
End Sub
A+
Merci pour votre réponse job75, ça fonctionne correctement.
 
bonjour a tous
pourrait on avoir un exemple de fichier
je vois du code xml
donc perso j'ai une autre idée 😉
Bonjour à toi,

C'est pour concaténer une entête XML avec le corps et pour ça j'utilise excel pour récupérer des données, et après j'extrais le résultat de la concaténation sur un fichier .txt

Voici un exemple.
 

Pièces jointes

bonjour
j'avoue ne pas comprendre ta démarche un xml il y a des outils en vb(a) pour ca
et je pige pas non plus pourquoi @job75 réécrit 2 fois le fichier

donc si je suis l'idée de job(tout du moins le résultat
VB:
Option Explicit

Sub Export_TXT()
Dim fichier$, tablo
fichier = ThisWorkbook.Path & "\Fichier TXT.txt" 'dossier et nom à modifier éventuellement
tablo = Application.Transpose([A1].CurrentRegion.Resize(, 1)) 'matrice, plus rapide, au moins 2 éléments
Open fichier For Output As #1 'ouvre le fichier Texte
    Print #1, Join(tablo, vbCrLf) 'nouveau contenu
Close #1
End Sub
j'obtiens le même résultat
je regarde d'un peu plus près ton fichier et reviens
 
re
j'avoue ne pas saisir ce que tu veux faire ni avec quelle feuille d'ailleurs
c'est brouillon tout ca
si tu me donnais un fichier xml final correspondant au données de ton fichier en post #10 je pourrais comprendre ça serait mieux je pense
un fichier xml doit avoir une structure de base bien précise

<?instruction...?>
<root>
<element>
</element>
</root>
 
re
j'avoue ne pas saisir ce que tu veux faire ni avec quelle feuille d'ailleurs
c'est brouillon tout ca
si tu me donnais un fichier xml final correspondant au données de ton fichier en post #10 je pourrais comprendre ça serait mieux je pense
un fichier xml doit avoir une structure de base bien précise

<?instruction...?>
<root>
<element>
</element>
</root>
j'essaye d'arriver à un fichier similaire à celui là, c'est mon premier contact avec XML donc j'avoue ne pas être à 100%
 

Pièces jointes

re
j'avais compris en voyant les 2 exemples dans dans la feuille Générateur xml
mais il ne sont pas bons car il y a des balises qui ne sont pas fermés ou pas ouverte avec une fermeture LOL!!!!!
exemple ici
<OrgId>
<Othr>
<Id>_</Id> ici c'est bon ouvert et fermé
<SchmeNm>
<Prtry>_</Prtry>
</SchmeNm>
</Othr>
</OrgId>
</Id> !!!!!!!!donc !!!!cette fin de balise n'a pas d'ouverture ca fout en l'air ton xml
</Dbtr>
<DbtrAcct>
et il y en a d'autre erreur encore
je pense pas que concaténer en formule soit la meilleur solution trop compliqué à déboguer
en vba on peut construire une architecture xml dans un xmldomdocument en memoire
et il y a la fonction save
sans oublier en UTF-8 certains caractères doivent être convertis sinon la aussi ca fout en l'air le xml
 
re
j'avais compris en voyant les 2 exemples dans dans la feuille Générateur xml
mais il ne sont pas bons car il y a des balises qui ne sont pas fermés ou pas ouverte avec une fermeture LOL!!!!!
exemple ici

et il y en a d'autre erreur encore
je pense pas que concaténer en formule soit la meilleur solution trop compliqué à déboguer
en vba on peut construire une architecture xml dans un xmldomdocument en memoire
et il y a la fonction save
sans oublier en UTF-8 certains caractères doivent être convertis sinon la aussi ca fout en l'air le xml
si tu remonte d'une ligne tu vas trouvé la balise ouvrante.
<Nm>CLIENT A DEBITER</Nm>
<Id>
<OrgId>
<Othr>
<Id>_</Id>
<SchmeNm>
<Prtry>_</Prtry>
</SchmeNm>
</Othr>
</OrgId>
</Id>
j'avoue ne pas avoir une formation en vba donc je ne sais pas travaillé avec mais si tu as une solution en vba je suis preneur.
Voici le resultat final de la concaténation.
 

Pièces jointes

- 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
1
Affichages
1 K
Compte Supprimé 979
C
Retour