[Résolu][Calc] Créer un bouton pour exporter en TXT
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
ccciolll
- Membre hOOnoraire

- Messages : 139
- Inscription : 29 août 2017 08:46
[Résolu][Calc] Créer un bouton pour exporter en TXT
Bonjour,
si vous avez été habitué à excel, exporter des fichiers au format txt-mac ou csv-windows était facile.
TROP facile, en réalité, mais pour des utilisateurs basiques comme moi, ça suffisait bien.
Avec LibreOffice, le nombre d'options est faramineux. En outre elles sont peu accessibles (il faut cocher une case au moment de l'export pour voir les options) et Libre Office ne change même pas l'extension en .txt ou .csv, il laisse .ods !
bref, pas très user-friendly (en tout cas pour les nuls dans mon genre).
J'ai été confronté au problème et après pas mal d'étapes, d'erreurs, de blablabla, j'ai fini par trouver une solution qui me convient : un bouton qui retient les réglages de MA façon d'exporter les données (celle dont j'ai besoin pour mes usages).
Voici l'explication en images (11 images = 11 posts car je n'ai pas trouvé comment ajouter pls PJ dans un post)
si vous avez été habitué à excel, exporter des fichiers au format txt-mac ou csv-windows était facile.
TROP facile, en réalité, mais pour des utilisateurs basiques comme moi, ça suffisait bien.
Avec LibreOffice, le nombre d'options est faramineux. En outre elles sont peu accessibles (il faut cocher une case au moment de l'export pour voir les options) et Libre Office ne change même pas l'extension en .txt ou .csv, il laisse .ods !
bref, pas très user-friendly (en tout cas pour les nuls dans mon genre).
J'ai été confronté au problème et après pas mal d'étapes, d'erreurs, de blablabla, j'ai fini par trouver une solution qui me convient : un bouton qui retient les réglages de MA façon d'exporter les données (celle dont j'ai besoin pour mes usages).
Voici l'explication en images (11 images = 11 posts car je n'ai pas trouvé comment ajouter pls PJ dans un post)
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Côté pro : LibreOffice 24 sur LinuxMint
Côté perso : LibreOffice 24 sur MacOSX
Côté perso : LibreOffice 24 sur MacOSX
-
ccciolll
- Membre hOOnoraire

- Messages : 139
- Inscription : 29 août 2017 08:46
Re: TUTO [Calc] Créer un bouton pour exporter en TXT
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Côté pro : LibreOffice 24 sur LinuxMint
Côté perso : LibreOffice 24 sur MacOSX
Côté perso : LibreOffice 24 sur MacOSX
-
ccciolll
- Membre hOOnoraire

- Messages : 139
- Inscription : 29 août 2017 08:46
Re: TUTO [Calc] Créer un bouton pour exporter en TXT
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Côté pro : LibreOffice 24 sur LinuxMint
Côté perso : LibreOffice 24 sur MacOSX
Côté perso : LibreOffice 24 sur MacOSX
-
ccciolll
- Membre hOOnoraire

- Messages : 139
- Inscription : 29 août 2017 08:46
Re: TUTO [Calc] Créer un bouton pour exporter en TXT
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Côté pro : LibreOffice 24 sur LinuxMint
Côté perso : LibreOffice 24 sur MacOSX
Côté perso : LibreOffice 24 sur MacOSX
-
ccciolll
- Membre hOOnoraire

- Messages : 139
- Inscription : 29 août 2017 08:46
Re: TUTO [Calc] Créer un bouton pour exporter en TXT
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Côté pro : LibreOffice 24 sur LinuxMint
Côté perso : LibreOffice 24 sur MacOSX
Côté perso : LibreOffice 24 sur MacOSX
-
ccciolll
- Membre hOOnoraire

- Messages : 139
- Inscription : 29 août 2017 08:46
Re: TUTO [Calc] Créer un bouton pour exporter en TXT
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Côté pro : LibreOffice 24 sur LinuxMint
Côté perso : LibreOffice 24 sur MacOSX
Côté perso : LibreOffice 24 sur MacOSX
-
ccciolll
- Membre hOOnoraire

- Messages : 139
- Inscription : 29 août 2017 08:46
Re: TUTO [Calc] Créer un bouton pour exporter en TXT
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Côté pro : LibreOffice 24 sur LinuxMint
Côté perso : LibreOffice 24 sur MacOSX
Côté perso : LibreOffice 24 sur MacOSX
-
ccciolll
- Membre hOOnoraire

- Messages : 139
- Inscription : 29 août 2017 08:46
Re: TUTO [Calc] Créer un bouton pour exporter en TXT
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Côté pro : LibreOffice 24 sur LinuxMint
Côté perso : LibreOffice 24 sur MacOSX
Côté perso : LibreOffice 24 sur MacOSX
-
ccciolll
- Membre hOOnoraire

- Messages : 139
- Inscription : 29 août 2017 08:46
Re: TUTO [Calc] Créer un bouton pour exporter en TXT
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Côté pro : LibreOffice 24 sur LinuxMint
Côté perso : LibreOffice 24 sur MacOSX
Côté perso : LibreOffice 24 sur MacOSX
-
ccciolll
- Membre hOOnoraire

- Messages : 139
- Inscription : 29 août 2017 08:46
Re: TUTO [Calc] Créer un bouton pour exporter en TXT
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Côté pro : LibreOffice 24 sur LinuxMint
Côté perso : LibreOffice 24 sur MacOSX
Côté perso : LibreOffice 24 sur MacOSX
-
ccciolll
- Membre hOOnoraire

- Messages : 139
- Inscription : 29 août 2017 08:46
Re: TUTO [Calc] Créer un bouton pour exporter en TXT
Voilà, le tour est joué.
Concernant les macro, en voici 2 variantes qui me donnent satisfaction (elles sont principalement l'œuvre de forumistes que je me dois de citer ici, luc1en et zeguedon, je n'ai fait que modifier à la marge ou compiler plusieurs sources. Merci à eux) :
Macro pour exporter en txt avec tabulations format MAC (équivalent au format « texte (séparateur : tabulations) » d'excel 2004)
Code : Tout sélectionner
Option Explicit
Sub ExpTxtTab()
Dim zeguedonDoc As Object
Dim zeguedonFP As Object, zeguedonNomDoc() As String, zeguedonFPtype(0) As Integer
Dim zeguedonPS As Object
Dim cheminUtilisateur As String
Dim destination As String
Dim props1(1) As New com.sun.star.beans.PropertyValue
zeguedonDoc = thiscomponent
zeguedonFP = CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
zeguedonPS = CreateUnoService("com.sun.star.util.PathSubstitution")
cheminUtilisateur = zeguedonPS.getSubstituteVariableValue("$(work)")
zeguedonFPtype(0) = com.sun.star.ui.dialogs.TemplateDescription.FILESAVE_SIMPLE
zeguedonFP.Title = "Export au format TXT"
zeguedonFP.initialize(zeguedonFPtype())
zeguedonFP.CurrentFilter = "Textes"
zeguedonFP.appendFilter("Textes", "*.txt")
zeguedonFP.DefaultName = Split(zeguedonDoc.Title,".ods")(0
zeguedonFP.DisplayDirectory = ConvertToURL(cheminUtilisateur)
If zeguedonFP.execute = com.sun.star.ui.dialogs.ExecutableDialogResults.OK Then
zeguedonNomDoc() = zeguedonFP.Files
props1(0).Name = "FilterName"
props1(0).Value = "Text - txt - csv (StarCalc)"
props1(1).Name = "FilterOptions"
props1(1).Value = "9,34,MAC,1,,0,false,true,true,false"
MsgBox(chr(13) & " Le jeu de caractères est: Europe Occidentale (Apple Macintosh) " & chr(13) & chr(13) &_
" Le séparateur de champs est: [Tabulation] ")
destination = convertToURL(zeguedonNomDoc(0))
zeguedonDoc.storeToURL(destination, props1())
End If
zeguedonFP.dispose
End SubCode : Tout sélectionner
Option Explicit
Sub ExpCsvPointVirgule()
Dim zeguedonDoc As Object
Dim zeguedonFP As Object, zeguedonNomDoc() As String, zeguedonFPtype(0) As Integer
Dim zeguedonPS As Object
Dim cheminUtilisateur As String
Dim destination As String
Dim props1(1) As New com.sun.star.beans.PropertyValue
zeguedonDoc = thiscomponent
zeguedonFP = CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
zeguedonPS = CreateUnoService("com.sun.star.util.PathSubstitution")
cheminUtilisateur = zeguedonPS.getSubstituteVariableValue("$(work)")
zeguedonFPtype(0) = com.sun.star.ui.dialogs.TemplateDescription.FILESAVE_SIMPLE
zeguedonFP.Title = "Export au format CSV"
zeguedonFP.initialize(zeguedonFPtype())
zeguedonFP.CurrentFilter = "Textes"
zeguedonFP.appendFilter("Textes", "*.csv")
zeguedonFP.DefaultName = Split(zeguedonDoc.Title,".ods")(0
zeguedonFP.DisplayDirectory = ConvertToURL(cheminUtilisateur)
If zeguedonFP.execute = com.sun.star.ui.dialogs.ExecutableDialogResults.OK Then
zeguedonNomDoc() = zeguedonFP.Files
props1(0).Name = "FilterName"
props1(0).Value = "Text - txt - csv (StarCalc)"
props1(1).Name = "FilterOptions"
props1(1).Value = "59,34,22,1,,,false"
MsgBox(chr(13) & "59 = Le séparateur de champs est: ; [point-virgule] " & chr(13) & chr(13) &_
"34 = délimiteur de texte est '' [guillemet Anglais] " & chr(13) & chr(13) &_
"22 = Le jeu de caractères est: occidental iso-8859-15 " & chr(13) & chr(13) &_
"1 = utiliser la première ligne " & chr(13) & chr(13) &_
"false = décocher la checkbox 'mettre entre guillemets toutes les cellules de texte' ")
destination = convertToURL(zeguedonNomDoc(0))
zeguedonDoc.storeToURL(destination, props1())
End If
zeguedonFP.dispose
End SubEt pour adapter le code à vos usages, il suffira de modifier les valeurs des jetons dans le code props1(1).Value en suivant les instructions de la page suivante : https://wiki.openoffice.org/wiki/FR/Doc ... er_Options
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Côté pro : LibreOffice 24 sur LinuxMint
Côté perso : LibreOffice 24 sur MacOSX
Côté perso : LibreOffice 24 sur MacOSX
-
Dude
- IdOOle de la suite

- Messages : 26205
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Résolu][Calc] Créer un bouton pour exporter en TXT
Pour info, les lancements de macro par bouton font l'objet d'un autre tutoriel épinglé en tête de gondole :
https://forum.openoffice.org/fr/forum/v ... =8&t=40146
https://forum.openoffice.org/fr/forum/v ... =8&t=40146
-
ccciolll
- Membre hOOnoraire

- Messages : 139
- Inscription : 29 août 2017 08:46
Re: [Résolu][Calc] Créer un bouton pour exporter en TXT
En effet, je ne l'avais pas vu.
Toutefois, de ce que j'arrive à en comprendre c'est un sujet plus large, et, à mon sens, moins accessible à un newbie dont la problématique précise serait de trouver une solution stable pour exporter en txt ou csv d'une façon précise (ce qui était mon cas). La compréhension, pour moi, s'est passée en plusieurs étapes.
- votre serviteur qui veut exporter dans un format stable de façon répétitive découvre d'abord qu'il faudra pour cela créer une macro, ce qui est nouveau pour lui, les macros il ne pratique pas ça couramment.
- Une fois qu'il a réussi à arriver à une macro fonctionnelle, l'ajout d'un bouton est un confort appréciable car sinon il serait bien incapable de se souvenir comment activer la macro épisodiquement.
De fait, mon « tuto » reprend ce parcours intellectuel et présente effectivement 2 étapes bien distinctes (1 - créer une macro / 2 - activer cette macro par un bouton) dans une seule suite de captures.
Mon « tuto » s'adresse vraiment à des débutants en montrant pas à pas dans quel endroit cliquer pour réaliser ces deux étapes (et je ne vous dis pas le temps qu'il m'a fallu pour refaire ces parcours, ça reste de l'aventure pour moi !) et en revanche ne fait que donner un clefs-en-mains concernant la programmation de macro en tant que telle (ceci car je ne suis pas suffisamment compétent pour détailler davantage le contenu de la macro).
En vérité, même si je l'avais vu, ce tuto que tu mets en lien, je n'aurais pas imaginé qu'il puisse s'appliquer à ma problématique. D'abord parce que son titre parle d'IMPORTER une macro, or ce que je cherchais à faire c'est activer une macro déjà existante. Et ensuite parce que (mais ce ne doit pas être facile de se mettre au niveau de qqun qui est vraiment débutant, tellement certaines choses doivent te sembler évidentes), quand on est débutant et qu'on veut juste pouvoir exporter au format untel, on ne pense pas forcément qu'il faudrait développer une macro pour ça. Donc on ne va pas forcément chercher le terme Macro+bouton. Et du coup ce débutant va passer à côté.
Un peu comme si, pour grossir le trait, qqun qui n'aurait jamais cuisiné cherchait comment faire pour servir du gâteau à ses invités et tombait sur un tuto qui dit « pour servir du gâteau à vos invités, acheter vos ingrédient, faire le gâteau selon votre recette, le cuire, le mettre sur la table » ça répond à sa question globale et ensuite, une fois qu'il a compris qu'il faut des ingrédients et une recette, alors il peut commencer à chercher des tutos plus barbus avec des listes d'ingrédients, des recettes, etc.
Mais avant ça, s'il n' pas le mot « ingrédient » ou « recette » en tête ou dans le champ rechercher, il va passer à côté des solutions qui le concernent.
Bon, voilà. J'en étais à ce niveau-là, en gros.
L'informatique est un peu comme une nouvelle langue, quand ce n'est pas ta langue natale, il y a des évidences à côté desquelles tu vas passer et cette difficulté n'est pas forcément évidente à appréhender quand on baigne dans cette langue-là tous les jours.
Bon, par contre, une fois qu'on leur a mis le pied à l'étrier avec mon tuto très ciblé, je trouve que tu as bien raison d'ouvrir vers des horizons un peu plus ambitieux.
Toutefois, de ce que j'arrive à en comprendre c'est un sujet plus large, et, à mon sens, moins accessible à un newbie dont la problématique précise serait de trouver une solution stable pour exporter en txt ou csv d'une façon précise (ce qui était mon cas). La compréhension, pour moi, s'est passée en plusieurs étapes.
- votre serviteur qui veut exporter dans un format stable de façon répétitive découvre d'abord qu'il faudra pour cela créer une macro, ce qui est nouveau pour lui, les macros il ne pratique pas ça couramment.
- Une fois qu'il a réussi à arriver à une macro fonctionnelle, l'ajout d'un bouton est un confort appréciable car sinon il serait bien incapable de se souvenir comment activer la macro épisodiquement.
De fait, mon « tuto » reprend ce parcours intellectuel et présente effectivement 2 étapes bien distinctes (1 - créer une macro / 2 - activer cette macro par un bouton) dans une seule suite de captures.
Mon « tuto » s'adresse vraiment à des débutants en montrant pas à pas dans quel endroit cliquer pour réaliser ces deux étapes (et je ne vous dis pas le temps qu'il m'a fallu pour refaire ces parcours, ça reste de l'aventure pour moi !) et en revanche ne fait que donner un clefs-en-mains concernant la programmation de macro en tant que telle (ceci car je ne suis pas suffisamment compétent pour détailler davantage le contenu de la macro).
En vérité, même si je l'avais vu, ce tuto que tu mets en lien, je n'aurais pas imaginé qu'il puisse s'appliquer à ma problématique. D'abord parce que son titre parle d'IMPORTER une macro, or ce que je cherchais à faire c'est activer une macro déjà existante. Et ensuite parce que (mais ce ne doit pas être facile de se mettre au niveau de qqun qui est vraiment débutant, tellement certaines choses doivent te sembler évidentes), quand on est débutant et qu'on veut juste pouvoir exporter au format untel, on ne pense pas forcément qu'il faudrait développer une macro pour ça. Donc on ne va pas forcément chercher le terme Macro+bouton. Et du coup ce débutant va passer à côté.
Un peu comme si, pour grossir le trait, qqun qui n'aurait jamais cuisiné cherchait comment faire pour servir du gâteau à ses invités et tombait sur un tuto qui dit « pour servir du gâteau à vos invités, acheter vos ingrédient, faire le gâteau selon votre recette, le cuire, le mettre sur la table » ça répond à sa question globale et ensuite, une fois qu'il a compris qu'il faut des ingrédients et une recette, alors il peut commencer à chercher des tutos plus barbus avec des listes d'ingrédients, des recettes, etc.
Mais avant ça, s'il n' pas le mot « ingrédient » ou « recette » en tête ou dans le champ rechercher, il va passer à côté des solutions qui le concernent.
Bon, voilà. J'en étais à ce niveau-là, en gros.
L'informatique est un peu comme une nouvelle langue, quand ce n'est pas ta langue natale, il y a des évidences à côté desquelles tu vas passer et cette difficulté n'est pas forcément évidente à appréhender quand on baigne dans cette langue-là tous les jours.
Bon, par contre, une fois qu'on leur a mis le pied à l'étrier avec mon tuto très ciblé, je trouve que tu as bien raison d'ouvrir vers des horizons un peu plus ambitieux.
Côté pro : LibreOffice 24 sur LinuxMint
Côté perso : LibreOffice 24 sur MacOSX
Côté perso : LibreOffice 24 sur MacOSX
-
Denis4085
- Membre lOOyal

- Messages : 43
- Inscription : 03 janv. 2025 04:06
Re: [Résolu][Calc] Créer un bouton pour exporter en TXT
je n'ai même pas encore trouvé la case à cocher qui débloquent la faramineuse série d'options cachées, c'est pour te dire dans l'état de détresse où je me trouvais.ccciolll a écrit : ↑27 févr. 2018 09:34 Avec LibreOffice, le nombre d'options est faramineux. En outre elles sont peu accessibles (il faut cocher une case au moment de l'export pour voir les options) et Libre Office ne change même pas l'extension en .txt ou .csv, il laisse .ods !
bref, pas très user-friendly
Il y a juste ceci dont je n'arrive pas à saisir la syntaxe, malgré moult relecture de Options de filtres
Code : Tout sélectionner
props1(1).Value = "9,34,MAC,1,,0,false,true,true,false"
MsgBox(chr(13) & " Le jeu de caractères est: Europe Occidentale (Apple Macintosh) " & chr(13) & chr(13) &_
" Le séparateur de champs est: [Tabulation] ")Pour ce qui est de l'export pur, il semble qu'un simple copier coller dans un nouveau fichier texte d'un éditeur de texte qui va bien suffise à obtenir une table propre au format texte avec \t comme délimiteur de champs. Du coup, après 48h acharnées pour faire fonctionner RECHERCHV, afin d'extraire des résultats de ma table, j'obtiens les résultats voulu en 15 seconde sur une ligne de sed, avec un petit cut, (2 cmd un pipe au milieu et voilà). Je RES-PIRE.
Merci encore
LibreOffice 7.4.7.2 sous Linux Debian 12.8
-
Oukcha
- RespOOnsable modération

- Messages : 4345
- Inscription : 06 oct. 2008 08:03
Re: [Résolu][Calc] Créer un bouton pour exporter en TXT
Bonjour,
Nous vous rappelons les règles de ce forum et notamment la n° 7
Un sujet = le problème d'une seule personne
Comme vous avez pu le lire, ce sujet est désormais résolu. Si vous avez également ce problème, c'est que ce dernier est différent. Votre configuration n'est peut être pas la même que celle de l'auteur de ce fil.
Dans ce cas et pour des raisons de lisibilité sur ce forum, nous vous demandons de créer une nouvelle question en rappelant que vous avez le même problème que dans ce fil.
Merci de votre collaboration.
Nous vous rappelons les règles de ce forum et notamment la n° 7
Un sujet = le problème d'une seule personne
Comme vous avez pu le lire, ce sujet est désormais résolu. Si vous avez également ce problème, c'est que ce dernier est différent. Votre configuration n'est peut être pas la même que celle de l'auteur de ce fil.
Dans ce cas et pour des raisons de lisibilité sur ce forum, nous vous demandons de créer une nouvelle question en rappelant que vous avez le même problème que dans ce fil.
Merci de votre collaboration.