Aide sur une extraction de mots

momo

XLDnaute Occasionnel
Bonjour a tous,

je sollicite votre aide sur une petite formule que je veux mettre en place.

je voudrais faire une extraction de mot qui se trouve entre deux tirets de 8

je met en pièces jointes un exemple pour m'illustrer

Merci d'avance à vous tous
 

Pièces jointes

  • Extraction de mots.xls.xlsx
    10.3 KB · Affichages: 34

Paf

XLDnaute Barbatruc
Re : Aide sur une extraction de mots

Re,

l'extraction est faite ici en fonction de la position des caractères "_", pour trouver des mots il faudrait se baser sur les espaces (" ").

Pour le principe :
on cherche la position du caractère "_" à partir du premier caractère de A2 . on ajoute 1 pour pouvoir avoir le numéro de départ de l'élément recherché CHERCHE("_";A2;1)+1

on cherche dans A2 la position du "_" suivant à partir de la position précédente, puis on retire 1 pour obtenir la position du dernier élément recherché CHERCHE("_";A2;CHERCH E("_";A2;1)+1)-1

on fait la différence des deux pour obtenir le nombre de caractères de l'élément recherché
CHERCHE("_";A2;CHERCHE("_";A2;1)+1)-CHERCHE("_";A2;1)-1

et on place dans la fonction STXT(texte;no_départ;no_car) qui va extraire l'élément recherché

A+
 

job75

XLDnaute Barbatruc
Re : Aide sur une extraction de mots

Bonjour momo, salut Paf,

Si vous avez du mal à comprendre la formule de Paf, pourtant très simple, que direz-vous de celle-ci...

Code:
=SIERREUR(STXT("_"&A2&"_";TROUVE(CAR(1);SUBSTITUE("_"&A2&"_";"_";CAR(1);B2))+1;TROUVE("_";"_"&A2&"_";TROUVE(CAR(1);SUBSTITUE("_"&A2&"_";"_";CAR(1);B2))+1)-TROUVE(CAR(1);SUBSTITUE("_"&A2&"_";"_";CAR(1);B2))-1);"")
Elle renvoie le mot dont le rang est indiqué en B2.

SIERREUR est utilisable à partir d'Excel 2007.

Fichier joint.

A+
 

Pièces jointes

  • Extraction de mots(1).xlsx
    10.8 KB · Affichages: 27

momo

XLDnaute Occasionnel
Re : Aide sur une extraction de mots

@ Paf: Merci Beaucoup pour votre explication très claire, je pense pouvoir faire en sorte à partir de là trouver les autres mots

@Job : Effectivement votre formule il faudrait s'être levé tôt pour la comprendre, mais je pense qu'avaec un peu d'exercice je pourrai la cerner..

En tout cas Merci à vous deux pour le temps consacré à mon Pb
 

job75

XLDnaute Barbatruc
Re : Aide sur une extraction de mots

Re,

Bien sûr en VBA avec Split c'est ultra simple :

Code:
Function Mot$(t$, sep$, rang%)
On Error Resume Next
Mot = Split(t, sep)(rang - 1)
End Function
Nouveau fichier joint.

A+
 

Pièces jointes

  • Extraction de mots par VBA(1).xlsm
    16.7 KB · Affichages: 36

Discussions similaires

Statistiques des forums

Discussions
311 721
Messages
2 081 929
Membres
101 843
dernier inscrit
Thaly