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

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Herve30
Membre OOrganisé
Membre OOrganisé
Messages : 66
Inscription : 26 févr. 2019 15:57

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

Message 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
Dernière modification par Herve30 le 09 nov. 2020 10:34, modifié 1 fois.
AOO 4.1.10
OS X EL Capitan 10.11.6
Libre Office version 7.1.5.2
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Extraire plusieurs textes entre 2 slashs (/)

Message par jeanmimi »

Bonjour,
Il faudrait voir le fichier, mais en général, on peut s'en sortir avec Données > Texte en colonnes
Pièces jointes
Texte en colonnes.png
Dernière modification par jeanmimi le 17 oct. 2020 16:46, modifié 1 fois.
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Herve30
Membre OOrganisé
Membre OOrganisé
Messages : 66
Inscription : 26 févr. 2019 15:57

Re: Extraire plusieurs textes entre 2 slashs (/)

Message 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
AOO 4.1.10
OS X EL Capitan 10.11.6
Libre Office version 7.1.5.2
Avatar de l’utilisateur
Michel JANZEF
ManitOOu
ManitOOu
Messages : 3446
Inscription : 12 janv. 2006 11:04

Re: Extraire plusieurs textes entre 2 slashs (/)

Message par Michel JANZEF »

Bonjour,
Herve30 a écrit :...Données > texte en colonnes ne convient à mon projet...
Même en cochant " Espaces superflus " ?
AOo 4.1.15 et LibO 7.6.5.2 (x64) - Windows 10 Famille 22H2 (19045.3693) 64 bits
Herve30
Membre OOrganisé
Membre OOrganisé
Messages : 66
Inscription : 26 févr. 2019 15:57

Re: Extraire plusieurs textes entre 2 slashs (/)

Message par Herve30 »

Non Michel JANZEF,
il me faut le texte complet entre les deux / dans les cellules
AOO 4.1.10
OS X EL Capitan 10.11.6
Libre Office version 7.1.5.2
Avatar de l’utilisateur
Michel JANZEF
ManitOOu
ManitOOu
Messages : 3446
Inscription : 12 janv. 2006 11:04

Re: Extraire plusieurs textes entre 2 slashs (/)

Message 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 ".
Pièces jointes
Herve30-MJ_17102020_01.ods
(9.31 Kio) Téléchargé 76 fois
AOo 4.1.15 et LibO 7.6.5.2 (x64) - Windows 10 Famille 22H2 (19045.3693) 64 bits
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Extraire plusieurs textes entre 2 slashs (/)

Message 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 …
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
Michel JANZEF
ManitOOu
ManitOOu
Messages : 3446
Inscription : 12 janv. 2006 11:04

Re: Extraire plusieurs textes entre 2 slashs (/)

Message 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.
AOo 4.1.15 et LibO 7.6.5.2 (x64) - Windows 10 Famille 22H2 (19045.3693) 64 bits
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 15:31

Re: Extraire plusieurs textes entre 2 slashs (/)

Message 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)))
Pièces jointes
Extraire textes entre_Mod1.ods
(9.52 Kio) Téléchargé 67 fois
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Herve30
Membre OOrganisé
Membre OOrganisé
Messages : 66
Inscription : 26 févr. 2019 15:57

Re: Extraire plusieurs textes entre 2 slashs (/)

Message 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))))
AOO 4.1.10
OS X EL Capitan 10.11.6
Libre Office version 7.1.5.2
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 15:31

Re: Extraire plusieurs textes entre 2 slashs (/)

Message 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+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Herve30
Membre OOrganisé
Membre OOrganisé
Messages : 66
Inscription : 26 févr. 2019 15:57

Re: Extraire plusieurs textes entre 2 slashs (/)

Message 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
AOO 4.1.10
OS X EL Capitan 10.11.6
Libre Office version 7.1.5.2
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 15:31

Re: Extraire plusieurs textes entre 2 slashs (/)

Message 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.
Pièces jointes
Extraire_Mod5.ods
(9.27 Kio) Téléchargé 75 fois
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5716
Inscription : 03 janv. 2009 00:56

Re: Extraire plusieurs textes entre 2 slashs (/)

Message 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
Pièces jointes
Herve30_20201017_JLC01.ods
(11.6 Kio) Téléchargé 76 fois
LibO 7.6.5.2 (x64 avec Java 1.8.0_401) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
Herve30
Membre OOrganisé
Membre OOrganisé
Messages : 66
Inscription : 26 févr. 2019 15:57

Re: Extraire plusieurs textes entre 2 slashs (/)

Message 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
Pièces jointes
Extrait ().xlsx
(9.55 Kio) Téléchargé 60 fois
AOO 4.1.10
OS X EL Capitan 10.11.6
Libre Office version 7.1.5.2
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Extraire plusieurs textes entre 2 slashs (/)

Message 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.
Pièces jointes
Extrait () dans Calc.ods
(13.08 Kio) Téléchargé 94 fois
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 15:31

Re: Extraire plusieurs textes entre 2 slashs (/)

Message 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:
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Herve30
Membre OOrganisé
Membre OOrganisé
Messages : 66
Inscription : 26 févr. 2019 15:57

Re: Extraire plusieurs textes entre 2 slashs (/)

Message par Herve30 »

Merci jeanmimi,
Non décidément cela ne fonctionne pas ...
Dernière modification par Herve30 le 08 nov. 2020 17:20, modifié 1 fois.
AOO 4.1.10
OS X EL Capitan 10.11.6
Libre Office version 7.1.5.2
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Extraire plusieurs textes entre 2 slashs (/)

Message 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()
Dernière modification par jeanmimi le 08 nov. 2020 17:45, modifié 1 fois.
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
Messages : 9329
Inscription : 18 juil. 2008 17:29
Localisation : F-Oise + F-Savoie

Re: Extraire plusieurs textes entre 2 slashs (/)

Message 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 
AOO 4.1.15 et LibO stable 7.6.5 / macOS Intel 13.6.5 Ventura
Adoptium-temurinJDK-jre_1.8.0_402 / Firefox/Safari/Thunderbird /Time Machine+cloneCCC
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
Herve30
Membre OOrganisé
Membre OOrganisé
Messages : 66
Inscription : 26 févr. 2019 15:57

Re: Extraire plusieurs textes entre 2 slashs (/)

Message 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;

AOO 4.1.10
OS X EL Capitan 10.11.6
Libre Office version 7.1.5.2
Verrouillé