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

XL pour MAC Entre le 3eme tiret et le dernier tiret

cloum1

XLDnaute Nouveau
Bonjour
J'imagine que la question a été abordé dans un cas similaire mais étant une bille avec les formule je n'arrive pas à extrapoler avec des solutions proches utilisant des fonctions imbriquées.
Pourriez vous m'aider pour une formule qui permettrait d'extraire tous les caractères présents dans une cellule entre le 3eme tiret et le dernier tiret ? la chaine est de longueur variable ainsi que le nombre de tirets

Merci !
 

cloum1

XLDnaute Nouveau
J'ai essayé ca mais ca ne marche pas
=STXT(A1;SEARCH("-";A1;SEARCH("-";A1;SEARCH("-";A1)+1)+1)+1;SEARCH("$";SUBSTITUE(A1;"-";"$";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"-";""))))-SEARCH("-";A1;SEARCH("-";A1;SEARCH("-";A1)+1)+1)-1)
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir à tous ,

Avec la formule matricielle suivante en B2 à copier vers le bas :
=STXT(A2;(PETITE.VALEUR(SI(STXT(A2;LIGNE(INDIRECT("1:"&NBCAR(A2)));1)="-";LIGNE(INDIRECT("1:"&NBCAR(A2)));"");3)+1);GRANDE.VALEUR(SI(STXT(A2;LIGNE(INDIRECT("1:"&NBCAR(A2)));1)="-";LIGNE(INDIRECT("1:"&NBCAR(A2)));"");1)-(PETITE.VALEUR(SI(STXT(A2;LIGNE(INDIRECT("1:"&NBCAR(A2)));1)="-";LIGNE(INDIRECT("1:"&NBCAR(A2)));"");3)+1))

 

Pièces jointes

  • cloum1- extraction entre 3 et dernier tiret- v1.xlsx
    11 KB · Affichages: 4
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Inactif
Bonsoir,
Même si tu es sous MAC, il vaut peut-être mieux préciser ta version (365, 2021, .....)
Xl pour MAC, OK, mais quelle version?
Si tu as 365, Texte.Avant et Texte.Apres feront le boulot....
Bonne soirée
 

job75

XLDnaute Barbatruc
Bonsoir à tous,

On peut aussi utiliser cette fonction VBA :
VB:
Function Tirets(x) As String
Dim s, a, i
s = Split(x, "-")
If UBound(s) < 4 Then Exit Function
ReDim a(UBound(s) - 4)
For i = 0 To UBound(a): a(i) = s(i + 3): Next
Tirets = Join(a, "-")
End Function
Bonne nuit.
 

Pièces jointes

  • Tirets.xlsm
    14.3 KB · Affichages: 3

Jacky67

XLDnaute Barbatruc
Bonjour à tous
Ceci semble aussi fonctionner (Tester sur pc)
Code:
=STXT(A1;TROUVE("£";SUBSTITUE(A1;"-";"£";3))+1;TROUVE("¤";SUBSTITUE(A1;"-";"¤";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"-";""))))-(TROUVE("£";SUBSTITUE(A1;"-";"£";3))+1))
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…