Discussion: Convertir un texte en tableau, mission impossible ? [LibreOffice][Texte]

  1. #1
    Expert éminent
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    6 008
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 6 008
    Points : 8 187
    Points
    8 187

    Par défaut Convertir un texte en tableau, mission impossible ?

    Bonjour,

    LO Writer 5.4.1.2, tout est dans les images :

    là on voit en fond la liste des polices générées par une macro d'Andrew Pitonyak, tout le texte est sélectionné, et par-dessus la fenêtre du menu Tableau / Convertir >>> Texte en tableau...
    Nom : avant_conversions.png
Affichages : 22
Taille : 74,0 Ko

    Je me disais « ça va être fastoche, après le nom de la police il y a ": " [deux-points espace], donc je mets ça dans la petite zone et "roule ma poule" », mais que nenni ! :
    Nom : après_conversion.png
Affichages : 21
Taille : 69,3 Ko

    Que faire pour que ça fonctionne correctement ?

    Merci,
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Maitre d'Oeuvre
    Inscrit en
    juin 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Maitre d'Oeuvre
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : juin 2016
    Messages : 18
    Points : 29
    Points
    29

    Par défaut

    Bjour,

    Il me semble que le délimiteur doit être un seul caractère, avez vous essayé avec ":" (deux points uniquement) ?

    @+

  3. #3
    Expert éminent
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    6 008
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 6 008
    Points : 8 187
    Points
    8 187

    Par défaut

    Citation Envoyé par TpF45 Voir le message
    Il me semble que le délimiteur doit être un seul caractère, avez vous essayé avec ":" (deux points uniquement) ?
    L'idée était belle, quoique, s'il ne fallait qu'un caractère, j'aurais aimé recevoir un message d'erreur quand j'en ai mis deux ce matin.

    'fin bon, j'ai mis juste ":" et voilà :
    Nom : tableau_kc.png
Affichages : 13
Taille : 27,9 Ko

    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Maitre d'Oeuvre
    Inscrit en
    juin 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Maitre d'Oeuvre
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : juin 2016
    Messages : 18
    Points : 29
    Points
    29

    Par défaut

    Je n'arrive pas à reproduire le problème chez moi, ici, tout semble fonctionner comme vous le souhaiteriez.
    Pourriez vous nous placer le fichier source en pièce jointe ?

    Sinon: avez vous tenté de chercher/remplacer ": " (deux points + espace) par "\t" en cochant "expressions régulières"
    Puis de convertir en tableau en utilisant la tabulation comme délimiteur ?

  5. #5
    Expert éminent
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    6 008
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 6 008
    Points : 8 187
    Points
    8 187

    Par défaut

    Citation Envoyé par TpF45 Voir le message
    Je n'arrive pas à reproduire le problème chez moi, ici, tout semble fonctionner comme vous le souhaiteriez.
    Pourriez-vous nous placer le fichier source en pièce jointe ?
    Attention, j'ai bien dit "5.4.1.2"
    liste_des_fonts5.odt

    EDIT : je n'avais pas eu l'idée donc c'est que ce n'était pas une bonne idée, mais au final je l'ai eue quand même : essayer avec une vieille 3.5.4.2 et c'était donc bien une mauvaise idée, le résultat étant identique...
    Je ne sais pas ce qu'il y a dans ce fichier, mais bon, quand ça veut pas, ça le fait pas !

    Citation Envoyé par TpF45 Voir le message
    Sinon: avez vous tenté de chercher/remplacer ": " (deux points + espace) par "\t" en cochant "expressions régulières"
    Puis de convertir en tableau en utilisant la tabulation comme délimiteur ?
    Non, mais merci pour l'idée.
    Pas d'bol, résultat identique. Je dois être maudit... Fichier en pj mais attention, c'est une liste des polices de ma machine, si les mêmes ne sont pas présentes dans la machine de destination, l'affichage sera en vrac.

    Pi j'ai fait un essai avec deux lignes composées à la main :
    bidon: test1 ligne avec des mots
    essai: test2 autre ligne pour compléter
    et là ça fonctionne...

    Ça me gonfle, l'informatique aléatoire... Même pas besoin des ordinateurs quantiques, ça le fait naturellement.

    EDIT2 :
    J'ai une piste !
    C'est le code à la fin de la ligne pour passer à la suivante qui fait tout foirer (je le sais, j'ai testé avec 2 lignes ça foirait, j'ai "gommé" le dernier caractère de la ligne et j'ai appuyé sur <ENTREE>, je l'ai fait 2 fois puisque test sur 2 lignes et c'est devenu bon).

    Ce caractère de fin de ligne, est généré ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
          oText.insertControlCharacter(oCurs, _
               com.sun.star.text.ControlCharacter.LINE_BREAK, False)
    et là on rigole et on tombe dans le foutoir des macros de LO : j'ai voulu remplacer ce LINE_BREAK par autre chose, une recherche sur le web m'a envoyé dans le SDK 6.0 (zéro exemple, "ils" sont vraiment trop nuls !), et voilà, c'est le drame :
    Nom : erreur_basic.png
Affichages : 11
Taille : 29,6 Ko

    Face à ça je suis comme une poule qui aurait trouvé un couteau...

    C'est quand même dingue que même les choses les plus simples prennent toujours un teeeeeeemps dément...

    EDIT3 : tout en bas de cette page il y a un exemple de ce PARAGRAPH_BREAK, je l'ai recopié à l'identique et j'ai le même message d'erreur foireux.

    EDIT4 : sur cette page, tout en bas il y a une macro qui remplace les sauts de ligne par des sauts de paragraphe (faut sélectionner le texte, avant) et ensuite la conversion en tableau fonctionne tip-top !
    Quelle histoire, quelle aventure...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  6. #6
    Expert éminent
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    6 008
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 6 008
    Points : 8 187
    Points
    8 187

    Par défaut

    Salut,

    je reviens deux minutes là-dessus et sur cette histoire de PARAGRAPH_BREAK refusé par le Basic.

    J'ai trouvé (je considérais ça insensé, que ça soit dans l'aide et que la macro m'envoie bouler) :

    le code d'origine, fonctionnel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
          oText.insertControlCharacter(oCurs, _
               com.sun.star.text.ControlCharacter.LINE_BREAK, False)
    le code en erreur (j'aime bien ce genre de construction typographique : je commente la ligne que je vais changer, et je mets le changement dessous) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
          oText.insertControlCharacter(oCurs, _
    '           com.sun.star.text.ControlCharacter.LINE_BREAK, False)
               com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False)
    la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
          oText.insertControlCharacter(oCurs, _
               com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False)
    '           com.sun.star.text.ControlCharacter.LINE_BREAK, False)
    Hé oui...
    Ayant l'habitude de coder en Delphi d'abord et en Lazarus ensuite, je ne me doutais pas que le parseur du texte Basic serait aussi sensible, délicat et chatouilleux...

    'fin bon, le principal c'est de le savoir,

    Et du coup, plus besoin de la macro qui convertit les sauts de lignes en... sauts de lignes,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    sub remplFLparFP() 'https://forum.openoffice.org/fr/forum/viewtopic.php?p=75164#p75164
    dim dscCherche as object
    dim rst
       dscCherche = thisComponent.createSearchDescriptor
       with dscCherche
          .SearchRegularExpression = true
          .SearchString = "\n"
          .ReplaceString = "\n"   ' Si, si...
       end with
       rst = thisComponent.replaceAll(dscCherche)
    end sub
    Si l'auteur n'avait pas écrit "Si, si...", je serais encore là-devant en me demandant si c'est du lard ou du cochon, et pourtant je l'ai vue tourner hier soir à pas d'heure, et me remplacer toutes les petites flèches à angle droit (Shift-Enter) par des vrais saut de ligne (Enter, le pied-de-mouche [le P à l'envers, pour ceux qui ne connaissent pas : ¶]).
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Convertir un fichier texte en tableau
    Par Litenkatt dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 26/07/2014, 10h47
  2. [WD-MAC 2011] Convertir Texte en Tableau et conserver le Style
    Par thais781 dans le forum Word
    Réponses: 6
    Dernier message: 26/11/2013, 09h14
  3. Convertir en texte un élement de tableau
    Par lio908 dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 17/05/2012, 17h25
  4. convertir un text en tableau avec vb
    Par Mon.abi dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 17/04/2012, 12h56
  5. Convertir une string en tableau de caractères
    Par alainpeniche dans le forum C++
    Réponses: 4
    Dernier message: 06/01/2007, 20h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo