FORMULE EXCEL POUR CONSERVER UNE PARTIE D'UN TEXTE

Résolu
Chris1377 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -  
Chris1377 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

Je cherche à extraire une chaîne de caractère entre 2 tirets mais le problème c'est que mes cellules peuvent contenir un nombre de caractères totalement variables et un ou plusieurs tirets.

Exemples :

1.CVE BBGR - Nikon Sph 1.60 SCCNextUV - 75

2.CVE BBGR - TT AA-DI-1.50 - 65

Je dois chaque fois garder exclusivement la partie qui se trouve entre le premier tiret et le dernier .

J'ai pu trouver la formule ci-dessous :

STXT(A1;CHERCHE("|";SUBSTITUE(A1;"-";"|";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"-";""))))+1;99)

Mais le problème c'est que j'obtiens les résultats suivants :

C'est Bon pour le premier avec : Nikon Sph 1.60 SCCNextUV

Mais pour le 2 ème j'ai juste  TT AA et je souhaiterai TT AA-DI-1.50 .



Bonne journée et Merci d'avance ci quelqu'un à une réponse

A voir également:

6 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 742
 

Bonjour

Le dernier argument de la fonction SUBSTITUE permet de remplacer la caractère choisi que l'on veut, par exemple ici le 4eme tiret

Pour compter les tirets il suffit de faire la différence entre la longueur de la chaîne initiale et de la même mais dont on a remplacé les tirets par rien

https://www.cjoint.com/c/NEfl7Khs5ZQ

Cdlmnt
Via


1
Chris1377 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   2
 

Bonjour,

Mille Mercis Via55, c'est Top!

Bonne journée

0
Chris1377 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   2
 

Re-bonjour,

J'ai un dernier problème, tout est OK sur 4 fichiers sur 5 sauf celui-ci :

*CVE Hoya - TWIN AMPLITUDE PLUS 15mm 1.50 - 65/70 : j'obtiens ça 

 TWIN AMPLITUDE PLUS 15mm 1.50  c'est ce que je souhaite

par contre pour ce cas je n'arrive pas à le délimiter :

*CVE Hoya - TT AA-RX-1.50--70 - 70 : j'obtiens  TT AA-RX-1.50--70  alors qu'il me faudrait TT AA-RX-1.50

Je n'arrive pas à remettre la délimitation à 6 tirets apparemment.

Merci d'avance pour une réponse.

Bonne journée

0
DjiDji59430 Messages postés 4239 Date d'inscription   Statut Membre Dernière intervention   698
 

Bonjour à tous,

Tu as quelle version d'excel ?

0
Chris1377 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   2
 

Bonjour,

Version 2016 

Cordialement

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 742
 

La formule que te je t'ai fait passer extrait entre le 1er et le dernier tiret donc c'est normal que ressorte TT AA-RX-1.50--70
Si tu veux extraire entre le 1er et l'avant dernier tiret il faut rajouter un -1 dans la formule

=STXT(B4;CHERCHE("-";B4)+1;CHERCHE("/";SUBSTITUE(B4;"-";"/";NBCAR(B4)-NBCAR(SUBSTITUE(B4;"-";""))-1))-CHERCHE("-";B4)-1)

Cdlmnt


0
Chris1377 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   2
 

c'est top! merci encore via55! 

0