Page 1 sur 1

[Résolu]Extraire plusieurs textes entre 2 slashs (/)

Publié : 17 oct. 2020 16:29
par Herve30
Bonjour,
Comment extraire les textes compris entre 2 slashs (/) chacun dans une cellule différente ?
1 Un Paquet / 2 Deux Paquets /3 Trois Paquets /4 Un double Paquet / 5 Triple Paquet / 6 Simple Paquet /
Cela peut concerner jusqu'à 20 textes
Cordialement

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 17 oct. 2020 16:38
par jeanmimi
Bonjour,
Il faudrait voir le fichier, mais en général, on peut s'en sortir avec Données > Texte en colonnes

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 17 oct. 2020 17:08
par Herve30
Ci-après le fichier exemple
Données > texte en colonnes ne convient à mon projet
Un formule fera mieux l'affaire
Merci
Extraire textes entre .ods
(13.89 Kio) Téléchargé 90 fois

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 17 oct. 2020 19:31
par Michel JANZEF
Bonjour,
Herve30 a écrit :...Données > texte en colonnes ne convient à mon projet...
Même en cochant " Espaces superflus " ?

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 17 oct. 2020 19:57
par Herve30
Non Michel JANZEF,
il me faut le texte complet entre les deux / dans les cellules

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 17 oct. 2020 20:21
par Michel JANZEF
Herve30 a écrit :Non Michel JANZEF,
il me faut le texte complet entre les deux / dans les cellules
- " Texte en colonnes " extrait bien les données comme vous le voulez. Sauf qu'il y a une espace en début et en fin de texte ;
- Autant pour moi la case " Espaces superflus " n'existe pas dans AOo.
- Si ces espaces vous gênent, il faudra les supprimer avec " Rechercher/Remplacer ".

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 17 oct. 2020 21:20
par jeanmimi
Herve30 a écrit :Données > texte en colonnes ne convient à mon projet
Texte en colonnes va bien répartir les données dans les différentes colonnes. Lorsque c'est fait, ensuite il faudra se positionner en A1 et insérer une colonne pour que 1 Paquet se retrouve en B1 comme indiqué dans la Feuille :
Je veux extraire 1 Un Paquet en B1 , 2 Deux paquets en C1 , ainsi de suite …

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 17 oct. 2020 21:27
par Michel JANZEF
jeanmimi a écrit :
Herve30 a écrit :... Lorsque c'est fait, ensuite il faudra se positionner en A1 et insérer une colonne pour que 1 Paquet se retrouve en B1 comme indiqué dans la Feuille
+1 Jeanmimi, j'avais oublié ce point.

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 18 oct. 2020 11:27
par OOotremer971
Bonjour,

Moi non plus je ne comprends pas pourquoi Texte en colonne du menu Données ne convient pas! Ce serait bien d'être plus explicite sur ce point. Merci.

Une formule matricielle basée sur le principe de celle proposée dans un de tes précédents sujets :

Code : Tout sélectionner

=SI(COLONNE(A1)>NBCAR($A1)-NBCAR(SUBSTITUE($A1;"/";""));"";SUPPRESPACE(STXT($A1;PETITE.VALEUR(SI(ESTERREUR(TROUVE("/";$A1;LIGNE(INDIRECT("A1:A"&NBCAR($A1)))));"";SI(LIGNE(INDIRECT("A1:A"&NBCAR($A1)))=1;1;SI(TROUVE("/";$A1;LIGNE(INDIRECT("A1:A"&NBCAR($A1))))=LIGNE(INDIRECT("A1:A"&NBCAR($A1)));TROUVE("/";$A1;LIGNE(INDIRECT("A1:A"&NBCAR($A1))));"")));COLONNE(A1))+1;PETITE.VALEUR(SI(ESTERREUR(TROUVE("/";$A1;LIGNE(INDIRECT("A1:A"&NBCAR($A1)))));"";SI(LIGNE(INDIRECT("A1:A"&NBCAR($A1)))=1;1;SI(TROUVE("/";$A1;LIGNE(INDIRECT("A1:A"&NBCAR($A1))))=LIGNE(INDIRECT("A1:A"&NBCAR($A1)));TROUVE("/";$A1;LIGNE(INDIRECT("A1:A"&NBCAR($A1))));"")));COLONNE(B1))-PETITE.VALEUR(SI(ESTERREUR(TROUVE("/";$A1;LIGNE(INDIRECT("A1:A"&NBCAR($A1)))));"";SI(LIGNE(INDIRECT("A1:A"&NBCAR($A1)))=1;1;SI(TROUVE("/";$A1;LIGNE(INDIRECT("A1:A"&NBCAR($A1))))=LIGNE(INDIRECT("A1:A"&NBCAR($A1)));TROUVE("/";$A1;LIGNE(INDIRECT("A1:A"&NBCAR($A1))));"")));COLONNE(A1))-1)))

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 18 oct. 2020 18:02
par Herve30
Merci la formule fonctionne parfaitement
je préfère une formule pour "Automatiser" la fonction car j'ai de nombreux tableaux (très) volumineux qui s'imbriquent et éviter au maxi les manipulations ...
J'ai un autre petit souci mais qui se rapporte a un sujet précédent (extraire les textes / nombres entre parenthèses)
Je ne sais pas si je peux rouvrir le sujet clôture "résolu" , en ouvrir un nouveau ou est-ce que l'on peut me répondre ici
Lorsque le texte ente deux // ne contient pas de nombre entre parenthèses il faudrait que la cellule reste vide
Mod 4.ods
(10.46 Kio) Téléchargé 76 fois
J'utilise la formule à modifier:

Code : Tout sélectionner

=SI(COLONNE(A1)>NBCAR($A1)-NBCAR(SUBSTITUE($A1;"(";""));"";CNUM(STXT($A1;PETITE.VALEUR(SI(ESTERREUR(CHERCHE("(";$A1;LIGNE(INDIRECT("A1:A"&NBCAR($A1)))));"";SI(CHERCHE("(";$A1;LIGNE(INDIRECT("A1:A"&NBCAR($A1))))=LIGNE(INDIRECT("A1:A"&NBCAR($A1)));LIGNE(INDIRECT("A1:A"&NBCAR($A1)));""));COLONNE(A1))+1;PETITE.VALEUR(SI(ESTERREUR(CHERCHE(")";$A1;LIGNE(INDIRECT("A1:A"&NBCAR($A1)))));"";SI(CHERCHE(")";$A1;LIGNE(INDIRECT("A1:A"&NBCAR($A1))))=LIGNE(INDIRECT("A1:A"&NBCAR($A1)));LIGNE(INDIRECT("A1:A"&NBCAR($A1)));""));COLONNE(A1))-(PETITE.VALEUR(SI(ESTERREUR(CHERCHE("(";$A1;LIGNE(INDIRECT("A1:A"&NBCAR($A1)))));"";SI(CHERCHE("(";$A1;LIGNE(INDIRECT("A1:A"&NBCAR($A1))))=LIGNE(INDIRECT("A1:A"&NBCAR($A1)));LIGNE(INDIRECT("A1:A"&NBCAR($A1)));""));COLONNE(A1))+1))))

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 18 oct. 2020 18:50
par OOotremer971
Et se sera quoi la prochaine étape :?: :lol:

A mesure que des solutions te sont apportées, un nouveau paramètre est à considérer. Ton projet est déjà relativement complexe à gérer avec des formules alors si on a pas tous les tenants et aboutissants dès le départ, on ne va pas y arriver sans friction.

Vu la complexité de ce que tu cherches à faire et la quantité de tableaux très volumineux que tu dois gérer, il est préférable d'exécuter cette tache par macro. Merci d'ouvrir un nouveau sujet dans la section dédiée sans omettre de donner toutes les infos dès le départ.

A+

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 18 oct. 2020 19:14
par Herve30
Merci,
Effectivement mon sujet est compliqué et j'ai découvert au fur et à mesure de l'avancement des problèmes qui se greffaient
Bon , je pensais arriver au bout ...
Merci vraiment pour votre aide
Cordialement

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 19 oct. 2020 11:37
par OOotremer971
Bonjour,
Herve30 a écrit :je pensais arriver au bout ...
Merci vraiment pour votre aide
Pourquoi se renoncement ??? :roll:

Je t'ai suggéré d'ouvrir un nouveau sujet en section macro pour traiter ta requête car elle est trop complexe pour l'être par formule à partir des fonctions natives de Calc ; pas d'abandonner :?
Dans le fichier joint une solution à base de fonction personnalisée (il faudra accepter l'exécution des macros à l'ouverture du fichier pour qu'il fonctionne)
Merci de poursuivre en section macro pour toute question concernant ce fichier et clôturer celui-ci.

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 19 oct. 2020 13:56
par Jean-Louis Cadeillan
Bonjour,
Ci-joint une solution non matricielle avec prise en compte des chaînes vides entre deux / (ici en B1) :

Code : Tout sélectionner

=SI(COLONNE(A1)>NBCAR($A1)-NBCAR(SUBSTITUE($A1;"/";""));"";SI(COLONNE(A1)=1;GAUCHE($A1;TROUVE("²";SUBSTITUE($A1;"/";"²";COLONNE(A1)))-2);SI(TROUVE("²";SUBSTITUE($A1;"/";"²";COLONNE(B2)-1))=TROUVE("²";SUBSTITUE($A1;"/";"²";COLONNE(A2)-1))+1;"";SUPPRESPACE(STXT($A1;1+TROUVE("²";SUBSTITUE($A1;"/";"²";COLONNE(A1)-1));TROUVE("²";SUBSTITUE($A1;"/";"²";COLONNE(B1)-1))-TROUVE("²";SUBSTITUE($A1;"/";"²";COLONNE(A1)-1))-2)))))
Cordialement,
Jean-Louis

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 08 nov. 2020 10:46
par Herve30
Bonjour,
Après une interruption involontaire (Covid oblige ...) je reprends le fil cette discussion.
Merci à Jean-Louis Cadeillan la formule fonctionne bien.
Je vais encore solliciter OOotremer971 ,en effet, comme tu le vois je ne lâche pas le morceau ...
Je n'arrive pas à faire fonctionner ta macro , je ne suis pas bon dans ce domaine.
Par contre, j'ai une formule XL qui va bien mais impossible de la rendre compatible avec Open (Voir fichier)

Cordialement

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 08 nov. 2020 11:43
par jeanmimi
Herve30 a écrit :Par contre, j'ai une formule XL qui va bien mais impossible de la rendre compatible avec Open (Voir fichier)
Je ne reproduis pas, car ta formule fonctionne très bien dans Calc de ma configuration.
J'ai repris ta formule avec ton texte du fichier Mod 4, regarde si le traitement qui en est fait dans le fichier joint est conforme à ce que tu attends.

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 08 nov. 2020 15:21
par OOotremer971
Bonjour,
Herve30 a écrit :Je n'arrive pas à faire fonctionner ta macro , je ne suis pas bon dans ce domaine.
or,
OOotremer971 a écrit :Dans le fichier joint une solution à base de fonction personnalisée (il faudra accepter l'exécution des macros à l'ouverture du fichier pour qu'il fonctionne)
Merci de poursuivre en section macro pour toute question concernant ce fichier [...]

Merci de préciser ce que tu ne comprends pas dans : "poursuivre en section macro pour toute question concernant ce fichier"
Herve30 a écrit :Par contre, j'ai une formule XL qui va bien mais impossible de la rendre compatible avec Open (Voir fichier)
Ta formule fait appel à la fonction SIERREUR() qui n'est pas encore implémentée dans AOO. IL faudra jouer avec le couple SI(ESTERREUR(maformule);blablabla;sinon ceci/cela) :super:

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 08 nov. 2020 16:37
par Herve30
Merci jeanmimi,
Non décidément cela ne fonctionne pas ...

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 08 nov. 2020 17:06
par jeanmimi
Herve30 a écrit : mon problème vient du fait que je possède une version trop ancienne
OOotremer971 a écrit :Ta formule fait appel à la fonction SIERREUR() qui n'est pas encore implémentée dans AOO.
Apparemment, même dans une version plus récente de Apache OpenOffice, la fonction n'est pas implantée.
Tu as donc deux possibilités :
soit le contournement par la formule qui t'a été indiquée
soit passer à LibreOffice qui reconnaît la fonction SIERREUR()

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 08 nov. 2020 17:07
par tintin
Bonjour,
Herve30 a écrit :je possède une version trop ancienne de Open [...] On me demande une mise à jour de Open quand j'ouvre le fichier mais celle ci n'abouti pas
Cela ne risque pas d'arriver la dernière version d'OpenOffice est la 4.1.7 et les mises à jour se font manuellement : mise à jour automatique.
Je ne rencontre pas ce problème.
Mais vous pouvez purger le profil utilisateur avec l'outil dédié (nécessite Java installé : [Java] Installation JRE et JDK sur macOS)
ou purger manuellement le profil
et installer LibreOffice en parallèle. Les deux suites cohabitent très bien.
[LibO] Installation de LibreOffice sur macOS
 Ajout : Un peu tard :oops: mais je laisse quand-même :wink: 
 Ajout : Voir [Issue] Erreur à l'ouverture de document : mise à jour 

Re: Extraire plusieurs textes entre 2 slashs (/)

Publié : 09 nov. 2020 10:33
par Herve30
Bonjour,
OUF ! j'ai enfin pu enfin résoudre mes problèmes .
J'ai abandonné OpenOffice pour LibreOffice .... et tout fonctionne !
Merci à tous les contributeurs qui ont participé à ce post, particulièrement à OOotremer971 pour sa patience et ses "fameuses" formules. :bravo:
Bien cordialement

La modération vous a écrit: complétez votre signature;