Microsoft 365 Extraire lignes de caractères dans long texte

Dann

XLDnaute Nouveau
Bonjour,

Je recherche à extraire des lignes de caractères dans un texte et les renvoyer dans chaque rubrique sur même ligne !

Ces lignes commencent par :
(exemple)

1 x jhsbvhbivbiubiv

1 x jhsb vn kjbvubqouha

Etc...

Cependant il peut y en avoir 1 ou plusieurs, jusqu'à 5

Merci pour votre aide
Dann

1599908560246.png
 

Pièces jointes

  • RECHERCHE TXT.xlsx
    10.9 KB · Affichages: 33

zebanx

XLDnaute Accro
Bonsoir Dann, Eriiic, le forum

En m'aidant d'une fonction écrite par PatrickToulon (;)) et avec ou sans occurences.
C'est du VBA donc le fichier est enregistré ici en .XSLM.

xl-ment
zebanx
 

Pièces jointes

  • Copie de RECHERCHE TXT.xlsm
    22.9 KB · Affichages: 4
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour Dann, eriiiic, zebanx, le forum,

Formule en B2 à tirer à droite et vers le bas :
VB:
=SIERREUR("1 x "&STXT($A2;TROUVE("µ";SUBSTITUE($A2;"1 x ";"µ";COLONNE()-1))+3;TROUVE(CAR(10);SUBSTITUE($A2;"1 x ";"µ";COLONNE()-1);TROUVE("µ";SUBSTITUE($A2;"1 x ";"µ";COLONNE()-1)))-TROUVE("µ";SUBSTITUE($A2;"1 x ";"µ";COLONNE()-1)));"")
A+
 

Pièces jointes

  • RECHERCHE TXT(1).xlsx
    11.8 KB · Affichages: 3

job75

XLDnaute Barbatruc
Bien entendu en définissant les noms Texte et Pos la formule se simplifie considérablement :
Code:
=SIERREUR("1 x "&STXT($A2;Pos+3;TROUVE(CAR(10);Texte;Pos)-Pos);"")
Fichier (2).

Edit : ah mais du coup je vois qu'il y a plus simple, fichier (3) :
Code:
=SIERREUR(STXT($A2;Pos;TROUVE(CAR(10);Texte;Pos)-Pos+3);"")
 

Pièces jointes

  • RECHERCHE TXT(2).xlsx
    12.3 KB · Affichages: 1
  • RECHERCHE TXT(3).xlsx
    12.2 KB · Affichages: 3
Dernière édition:

job75

XLDnaute Barbatruc
Une remarque pour terminer.

Les solutions précédentes supposent que chaque chaîne suivant "1 x " se termine par CAR(10).

Dans ce fichier (5) ce n'est pas le cas pour la dernière chaîne en I2, alors utiliser en L2 :
Code:
=SIERREUR(STXT($I2;Pos;TROUVE(CAR(10);Texte&CAR(10);Pos)-Pos+3);"")
 

Pièces jointes

  • RECHERCHE TXT(5).xlsx
    12.5 KB · Affichages: 3

job75

XLDnaute Barbatruc
Pour comprendre ces formule il vous faut d'abord comprendre à quoi sert le 4ème argument de la fonction SUBSTITUE (SUBSTITUTE en anglais) et le 3ème argument de la fonction TROUVE (FIND).

Si vous ne le savez pas faites une recherche pour ces 2 fonctions sur le web.
 

Discussions similaires