Extraire un texte noyé sans logique

masteur907

XLDnaute Nouveau
Bonjour,

J'ai avant tout fait quelques recherche sans pouvoir trouver solution à ma problématique du moment.

Actuellement je suis face à une colonne (cf pièce jointe) dans laquelle je souhaite extraire un texte de dimention variable placé à un endroit dans la cellule variable.

Si quelqu'un à une idée je suis preneur.

Vous remerciant.

Cordialement.
 

Pièces jointes

  • Exemple.xls
    13.5 KB · Affichages: 83
  • Exemple.xls
    13.5 KB · Affichages: 86
  • Exemple.xls
    13.5 KB · Affichages: 89

Tibo

XLDnaute Barbatruc
Re : Extraire un texte noyé sans logique

Bonjour,

Un essai en B2 :

Code:
=STXT(A2;TROUVE("µ";SUBSTITUE(A2;CAR(160);"µ";NBCAR(A2)-
NBCAR(SUBSTITUE(A2;CAR(160);""))))+1;99)

Les espaces dans tes chaines sont particuliers (code ASCII 160).

On peut ajouter en début de formule un test pour les cellules vides.

Je te laisse tester

Bon app

@+
 

smotty

XLDnaute Occasionnel
Re : Extraire un texte noyé sans logique

Bonjour,

Voici une approche vba

Voire le fichier joint (le code étant entré dans un module)

Il suffit de tapper ex: =Extrait(A2)

Je bloquais pour les formules

Il retire tout caractère dont le code ascii est inférieur à celui du A et supérieur à Z.

A+
 

Pièces jointes

  • Exemple.xls
    29.5 KB · Affichages: 56
  • Exemple.xls
    29.5 KB · Affichages: 55
  • Exemple.xls
    29.5 KB · Affichages: 53

masteur907

XLDnaute Nouveau
Re : Extraire un texte noyé sans logique

Bonjour,

Merci Thibo pour la réponse qui fonctionne à merveille dans mon exemple mais malheuresement pas sur mon fichier source.

J'aimerai pouvoir comprendre également ta réponse pour ma culture perso qui pourra m'aider à utiliser d'autre fonction. Si tu pouvais m'aider sur ce point cela m'aiderai (nottament l'utilisation du caractère "µ") que je n'avais jamais croisé auparavant.

J'espère ne pas abuser.

Cordialement.
 

Tibo

XLDnaute Barbatruc
Re : Extraire un texte noyé sans logique

re,

masteur,

le principe de l'utilisation du caractère µ est :

Dans ta chaine, il faut repérer le dernier caractère ASCII 160 (pseudo espace).

Avec la fonction NBCAR, je détermine le nombre de caractères code 160 et je remplace le dernier (avec SUBSTITUE) par le caractère µ

Ensuite, avec la fonction TROUVE, il me reste à trouver l'emplacement de ce caractère puis à extraire à compter du caractère suivant.

Pourquoi ce caractère : tout simplement parce que la probabilité qu'il soit déjà présent dans ta chaine de caractères est très très faible.

Voilou pour la tentative d'explication.

Si problème persiste, tu peux revenir avec un extrait de fichier plus représentatif de ton vrai fichier.

@+
 

masteur907

XLDnaute Nouveau
Re : Extraire un texte noyé sans logique

Merci à Tibo et smotty pour leurs réponses.

Néanmoins je suis bloqué sur les cellules ayant un espace après la chaine de caractère que je dois extraire. Cf les cases oranges fichier Excel exemple 2.

Avez vous une idée ?

Cordialement,
 

Pièces jointes

  • Exemple2.xls
    31 KB · Affichages: 39
  • Exemple2.xls
    31 KB · Affichages: 39
  • Exemple2.xls
    31 KB · Affichages: 38

smotty

XLDnaute Occasionnel
Re : Extraire un texte noyé sans logique

Essaye donc ça,

Pour info, si vba t'intéresse, j'ai juste ajouté la fonction trim() qui enlève les espaces avant et après.
 

Pièces jointes

  • Exemple2(1).xls
    31 KB · Affichages: 45
  • Exemple2(1).xls
    31 KB · Affichages: 45
  • Exemple2(1).xls
    31 KB · Affichages: 40

masteur907

XLDnaute Nouveau
Re : Extraire un texte noyé sans logique

J'ai toujours pas résolu mon problème malgrès toute votre bonne volonté.

Afin de levé le doute sur les espace j'ai joint le fichier source.
Car je pense que le problème vient de la.

Cordialement,
 

Pièces jointes

  • Exemple2(1).xls
    36.5 KB · Affichages: 119
  • Exemple2(1).xls
    36.5 KB · Affichages: 111
  • Exemple2(1).xls
    36.5 KB · Affichages: 115

CBernardT

XLDnaute Barbatruc
Re : Extraire un texte noyé sans logique

Bonjour à tous,

Bravo Smotty, bien vu les fonctions imbriquées ;)

Une autre solution, peu différente, avec une liste préexistante de noms et une fonction simplifiée. Dans l'exemple, la "Liste" est définie dans la feuile "DONNEES".

Un petit avantage : n'apparaissent que les noms présents dans la liste, ce qui donne la possibilité de trier les enregistrements présents dans la base.

Cordialement

Bernard
 

Pièces jointes

  • ExtractionV1.zip
    14.3 KB · Affichages: 38
  • ExtractionV1.zip
    14.3 KB · Affichages: 38
  • ExtractionV1.zip
    14.3 KB · Affichages: 37

smotty

XLDnaute Occasionnel
Re : Extraire un texte noyé sans logique

Bonjour Le Forum, Bonjour Bernard,

Ta solution est génial et particulièrement simple. (quand je vois le temps que j'ai mis...:mad:)

Je dois t'avouer que je ne connaissais pas ce procédé et si tu peux m'expliquer ça sera très bien pour ma culture.

Ce procédé pour créer un tableau de la chaine je ne l'ai jamais utilisé mais je le garde en mémoire.

Si tu peux m'expliquer le reste ça m'arrangera

Merci d'avance

Smotty
 

Discussions similaires

Statistiques des forums

Discussions
312 612
Messages
2 090 227
Membres
104 453
dernier inscrit
benjiii88