Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

 

Pièces jointes

  • RECHERCHE TXT.xlsx
    10.9 KB · Affichages: 33

Dann

XLDnaute Nouveau
En fait je veux ressortir les chaines des lignes commençant par 1 x ?

1 x b b hbbcbhghhh

1 x gvgvhjvhbhjbhhhh


La première expression dans la rubrique "Colonne B"
La deuxième expression dans la rubrique "Colonne C"

Exc...
 

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…