Extraire une chaîne de caractère

Jrmy -  
diablo13800 Messages postés 2890 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous !

Je souhaiterais extraire une chaine de caractère qui se situe au milieu d'une autre chaine de caractère.

Je mets un exemple ce sera plus simple : le texte complet est %mass 7778-50-9/231-906-6/, et moi je voudrais seulement garder 7778-50-9. Pour cela j'ai utilisé la formule =STXT(D10;CHERCHE("ss ";D10)+3;9), qui fonctionne mais seulement le numéro a extraire ne comporte pas tout le temps 9 caractères ... En revanche il est bien toujours positionné après l'enchainement "ss " et avant "/".

Auriez vous une idée pour résoudre ce problème ?

Merci d'avance pour votre aide et bonne journée !

Jérémy

A voir également:

2 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

un peu moins barbare ;-) En complétant ta formule :
=STXT(A2;CHERCHE(" ";A2)+1;CHERCHE("/";A2)-7)

eric
1
Jrmy
 
Salut eric !

Merci pour ta réponse, c'est en effet plus sympa comme formule haha
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
pas mieux ainsi?
=STXT(A2;CHERCHE(" ";A2)+1;CHERCHE("/";A2)-CHERCHE(" ";A2)-1)
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour yg_be,

comme il recherchait "ss ", à-priori "%mass " est constant.
eric
0
jrmy
 
Oui %mass est constant :-)
0
diablo13800 Messages postés 2890 Date d'inscription   Statut Membre Dernière intervention   1 860
 
Bonjour et merci eric d'avoir repris cette formule barbarique que j'ai pu faire :)
0
diablo13800 Messages postés 2890 Date d'inscription   Statut Membre Dernière intervention   1 860
 
Bonjour,

J'ai une formule pour vous elle est un peu barbare mais a le mérite de fonctionner:
=DROITE(GAUCHE(A2;CHERCHE("/";A2)-1);NBCAR(GAUCHE(A2;CHERCHE("/";A2)-1))-CHERCHE(" ";GAUCHE(A2;CHERCHE("/";A2)-1)))


Il faut juste remplacer A2 par la case en question. Attention, vos case doivent contenir un espace avant la série de chiffre que vous voulez ( ça a l'air d'être dans vos prérequis avec le "mass ")
0
Jrmy
 
Merci Diablo !

Ca marche nickel :-)
Est ce que vous auriez une petite explication pour les différents termes ? Juste histoire que je sache ce que j'utilise

Encore merci !
0
diablo13800 Messages postés 2890 Date d'inscription   Statut Membre Dernière intervention   1 860
 
Pour faire simple:
-Droite(texte,[nb_car]) permet de prendre les "nb_car" de la chaîne texte.
-Gauche... Bon c'est pareil mais a gauche.
-nbCar permet de compter le nombre de caractère d'une chaîne.
- et cherche renvoi la position du caractère cherché.

Donc, On prend la droite ( "DROITE(" ), du texte renvoyé par gauche("GAUCHE(") , qui prend les caractères à gauche de "/"( "CHERCHE("/";A2)-1)" ). et on prend le nombre de caractère ( "NBCAR(" )du texte renvoyé par gauche ( "GAUCHE(A2;CHERCHE("/";A2)-1))" ( -1 car on retire le "/" du calcul ) , auxquel on retire le nombre de caractère avant votre série de chiffre ( "CHERCHE(" ";GAUCHE(A2;CHERCHE("/";A2)-1))" )

Alors oui c'est très barbare et mon explication est peut-être pas ... Très explicite, mais je vois pas comment vous l'expliquez mieux. C'est une combinaison de recherche de caractère, et de nombre de caractères :)
0
Jrmy
 
C'est en effet un peu barbare mais c'est déjà plus clair haha

Merci encore !
0