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.

Extraire plusieurs textes entre 2 slashs (/)

Messagepar Herve30 » 17 Oct 2020 15:29

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
AOO 4.1.7
OS X Yosemite 10.10
Herve30
Membre lOOyal
Membre lOOyal
 
Message(s) : 40
Inscrit le : 26 Fév 2019 15:57

Re: Extraire plusieurs textes entre 2 slashs (/)

Messagepar jeanmimi » 17 Oct 2020 15:38

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 édition par jeanmimi le 17 Oct 2020 15:46, édité 1 fois.
LibreOffice Version : Version : 7.0.1.2 (x64)(13 septembre 2020)
Adoptopen JRE ou Oracle JRE (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 15500
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: Extraire plusieurs textes entre 2 slashs (/)

Messagepar Herve30 » 17 Oct 2020 16:08

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é 9 fois
AOO 4.1.7
OS X Yosemite 10.10
Herve30
Membre lOOyal
Membre lOOyal
 
Message(s) : 40
Inscrit le : 26 Fév 2019 15:57

Re: Extraire plusieurs textes entre 2 slashs (/)

Messagepar Michel JANZEF » 17 Oct 2020 18:31

Bonjour,
Herve30 a écrit:...Données > texte en colonnes ne convient à mon projet...

Même en cochant " Espaces superflus " ?
1- AOo 4.1.7 et LibO 6.4.6.2 (x64) - Windows 10 Famille 1903 64 bits
2- AOo 4.0.1 et LibO 4.1.5.3 sous Windows XP Familiale SP3
Avatar de l’utilisateur
Michel JANZEF
HédOOniste
HédOOniste
 
Message(s) : 2255
Inscrit le : 12 Jan 2006 11:04

Re: Extraire plusieurs textes entre 2 slashs (/)

Messagepar Herve30 » 17 Oct 2020 18:57

Non Michel JANZEF,
il me faut le texte complet entre les deux / dans les cellules
AOO 4.1.7
OS X Yosemite 10.10
Herve30
Membre lOOyal
Membre lOOyal
 
Message(s) : 40
Inscrit le : 26 Fév 2019 15:57

Re: Extraire plusieurs textes entre 2 slashs (/)

Messagepar Michel JANZEF » 17 Oct 2020 19:21

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) Aucun téléchargement
1- AOo 4.1.7 et LibO 6.4.6.2 (x64) - Windows 10 Famille 1903 64 bits
2- AOo 4.0.1 et LibO 4.1.5.3 sous Windows XP Familiale SP3
Avatar de l’utilisateur
Michel JANZEF
HédOOniste
HédOOniste
 
Message(s) : 2255
Inscrit le : 12 Jan 2006 11:04

Re: Extraire plusieurs textes entre 2 slashs (/)

Messagepar jeanmimi » 17 Oct 2020 20:20

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 : Version : 7.0.1.2 (x64)(13 septembre 2020)
Adoptopen JRE ou Oracle JRE (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 15500
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: Extraire plusieurs textes entre 2 slashs (/)

Messagepar Michel JANZEF » 17 Oct 2020 20:27

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.
1- AOo 4.1.7 et LibO 6.4.6.2 (x64) - Windows 10 Famille 1903 64 bits
2- AOo 4.0.1 et LibO 4.1.5.3 sous Windows XP Familiale SP3
Avatar de l’utilisateur
Michel JANZEF
HédOOniste
HédOOniste
 
Message(s) : 2255
Inscrit le : 12 Jan 2006 11:04

Re: Extraire plusieurs textes entre 2 slashs (/)

Messagepar OOotremer971 » 18 Oct 2020 10:27

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   AgrandirRéduire
=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é 2 fois
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10
Ubuntu 18.04.4 LTS
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2387
Inscrit le : 16 Avr 2010 14:31

Re: Extraire plusieurs textes entre 2 slashs (/)

Messagepar Herve30 » 18 Oct 2020 17:02

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é 1 fois


J'utilise la formule à modifier:
Code : Tout sélectionner   AgrandirRéduire
=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.7
OS X Yosemite 10.10
Herve30
Membre lOOyal
Membre lOOyal
 
Message(s) : 40
Inscrit le : 26 Fév 2019 15:57

Re: Extraire plusieurs textes entre 2 slashs (/)

Messagepar OOotremer971 » 18 Oct 2020 17:50

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
Ubuntu 18.04.4 LTS
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2387
Inscrit le : 16 Avr 2010 14:31

Re: Extraire plusieurs textes entre 2 slashs (/)

Messagepar Herve30 » 18 Oct 2020 18:14

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.7
OS X Yosemite 10.10
Herve30
Membre lOOyal
Membre lOOyal
 
Message(s) : 40
Inscrit le : 26 Fév 2019 15:57

Re: Extraire plusieurs textes entre 2 slashs (/)

Messagepar OOotremer971 » 19 Oct 2020 10:37

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é 3 fois
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10
Ubuntu 18.04.4 LTS
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2387
Inscrit le : 16 Avr 2010 14:31

Re: Extraire plusieurs textes entre 2 slashs (/)

Messagepar Jean-Louis Cadeillan » 19 Oct 2020 12:56

Bonjour,
Ci-joint une solution non matricielle avec prise en compte des chaînes vides entre deux / (ici en B1) :
Code : Tout sélectionner   AgrandirRéduire
=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é 2 fois
LibO 6.3.6.2 (x64 avec Java 1.8.0_241) et AOO 4.1.7 (avec Java x32 1.8.0_261), Windows 7 Édition Intégrale 64 SP1, (Domicile)
LibO 5.4.1.2 (x86) sous Ubuntu LTS 16.04.1, noyau 4.4.0-93 et Xfce 4.12, Java (x86) 1.8.0_131 (Travail) [obligation de version]
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
 
Message(s) : 5028
Inscrit le : 03 Jan 2009 00:56


Retour vers Tableur

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 22 invité(s)