Décontaner plusieurs textes dans une cellule en deux cellules ou plus

posée 2019-10-05 19:53:48 +0200

Image Gravatar de ld801_60

updated 2019-10-06 18:08:22 +0200

Bonsoir,

J'espère être assez explicite dans ma demande,

Dans une cellule, j'ai plusieurs textes séparés par un ou plusieurs espaces. Je souhaite obtenir par exemple le premier texte dans une cellule et le reste du texte dans une autre cellule, ou une partie du texte dans une seconde cellule et le reste dans une troisième cellule.

Donc comme dans l'exemple joint, dans la cellule B89, il y a le texte "REM CHQ 4331159". Je souhaite que dans la cellule K89 il y a "REM CHQ" et dans la cellule L89 il y a "4331159".

ou

dans la cellule B84 il y a "CARTE SA LACACHA CHAUNY 11/12". Je souhaite obtenir dans la cellule K84 "CARTE", dans la cellule L84 "SA LACACHA CHAUNY" et la cellule M84 "11/12"

Certes je peux tout recopier mais je souhaite bien entendu gagner du temps.

En vous remerciant par avance. Bonne soirée

description de l'image

éditer requalifier signaler fermer fusionner supprimer

Commentaires

Décontaner ??? Quesacm?

Ironie mise à part, êtes-vous capable d'élaborer une grammaire décrivant de manière formelle vos libellés? Par exemple, le premier mot désigne toujours la nature de l'opération (et d'en donner la liste exhaustive? Ensuite, pour chacun des cas, pouvez-vous décrire le nombre et la nature des arguments?

Si oui, le problème est soluble en automatique.

Éditez votre question pour lister les cas au moins sommairement. N'utilisez pas une réponse qui est réservée aux solutions.

Image Gravatar de ajlittozajlittoz ( 2019-10-05 20:44:16 +0200 )éditer

Bonjour,

autant pour moi j'ai oublié des lettres même si cette fonction n'existe pas, mais ça donne une idée. Je souhaite l'inverse de la fonction concatener (déconcatener :) )

J'ai édité ma question et de ce fait modifié ma capture d'écran. J'ai aussi joint le fichier. J'ai également mis quelques exemples de ce que je souhaite obtenir mais tout ça grâce à une formule.

Je souhaite ajouter que j'ai reçu ce fichier en format pdf. J'ai converti ce dernier en format tableur. Par contre, dans le tableur, ça m'a ouvert 3 feuilles (table 1, table 2 et table 3). Pour le moment je ne travaille que dans la table 1...et je veux par la suite travailler sur une seule feuille donc insérer la table 2 et 3 dans la table 1.

Merci

Image Gravatar de ld801_60ld801_60 ( 2019-10-06 11:11:36 +0200 )éditer

D'après ce que je vois, voici les caractéristiques des opérations:

  • ANNUL <operation> <du texte>
  • AVOIR <operation> <du texte> <date>
  • CARTE <du texte> <date>
  • COTIS <du texte>
  • ECH PRET &lt:du texte> <date>
  • FRAIS <du texte>
  • INTERETS <du texte>
  • PRLV <du texte>
  • REAL PRET <du texte>
  • REGLEMENT <du texte> (parfois avec une date finale)
  • REGUL <du texte>
  • REJET <operation> <du texte>
  • REM CHQ <numéro> (parfois un commentaire final)
  • RET DAB <du texte> <date> <heure>
  • VERSEMENT <du texte>
  • VIREMENT <du texte>

    La plupart des opérations se contentent d'un simple libellé. Il est donc facile de traiter ces cas en recherchant le premier espace avec SEARCH puis d'éclater avec SUBSTR (désolé ma configuration est anglophone). En revanche, aller extraire les dates et heures est plus complexe car leurs positions ne sont pas fixes.

(La suite dans un autre commentaire …)

Image Gravatar de ajlittozajlittoz ( 2019-10-06 12:05:44 +0200 )éditer

Je vous conseillerais plutôt de convertir le PDF en CSV. Le CSV est un format texte qui peut facilement être manipulé par un script. Le script reéalise l'extration des libellés et ajoute des colonnes dans le CSV de sorite. Vous importez ensuite le résultat du script dans le tableur. Tout ça peut être automatisé.

Mon choix se porterait sur le langage Perl qui est bien adapté à ce genre de sport (identification de structures récurrentes dans des lignes). L'extraction de sous-chaînes peut même être personnalisée en fonction de la nature de l'opération.

La solution d'un script externe me paraît plus simple et efficace que de partir sur des formules d'une importance démentielle.

Dans votre exemple, j'attire votre attention sur le fait que les prélèvements et virements n'ont pas tous une identification numérique finale. C'est apparent si vous triez la colonne "Nature". Dans ...(plus)

Image Gravatar de ajlittozajlittoz ( 2019-10-06 12:17:48 +0200 )éditer

À titre de précaution, si le fichier contient des données réelles, je vous conseille maintenant de le supprimer de la question (droit à la protection de la vie privée).

Image Gravatar de ajlittozajlittoz ( 2019-10-06 12:20:11 +0200 )éditer

Donc il faut que j'utilise les fonctions RECHERCHE et SUBSTITUE ?

perl, je ne comprends pas ?? c'est quoi ?

Après j'ai le script quand je fais des macros. Est ce la même chose ?

OS : windows 10

Image Gravatar de ld801_60ld801_60 ( 2019-10-06 18:48:02 +0200 )éditer

SUBSTRING doit être SOUSCHAINE en français.

Perl est un langage de script indépendant de LibreOffice. Il est particulièrement adapté à la manipulation de texte par des expressions régulières (identification de motifs pouvant être complexes, capture d'éléments dans une ligne, substitutions diverses). Dans bien des cas, il peut remplacer avantageusement le langage du shell comme bash ou csh.

Les macros sont internes à Calc. Vous pouvez sans doute y arriver mais je n'ai jamais pratiqué le dialecte Basic et encore moins son successeur basé sur Python. Je pense néanmoins qu'une solution "externe" serait plus propre: vous analysez le fichier ligne par ligne sans vous préoccuper des formules (c'est du texte auquel vous n'accordez aucune signification particulière) et, surtout, vous ne risquez pas de "casser" sa structure.

Néanmoins, pour être sûr du succès de l'entreprise, vous devez travailler dans un langage que vous maîtrisez. Le choix ...(plus)

Image Gravatar de ajlittozajlittoz ( 2019-10-06 19:24:11 +0200 )éditer

Bonsoir,

J'ai réussi. J'ai inséré des colonnes entre les colonnes B et C puis j'ai copié la colonne B. Ensuite j'ai effectué un collage spécial après la colonne B et j'ai collé que le texte non formaté. Ca m'ouvre une nouvelle fenêtre en import de texte. J'ai choisi largeur de texte pour définir mes colonnes et voila !

Image Gravatar de ld801_60ld801_60 ( 2019-10-09 20:15:42 +0200 )éditer