=EQUIV("Pierre*Granier*Deferre*";A:A;0)
=SIERREUR(INDEX(A:A;PETITE.VALEUR(SI((ESTNUM(CHERCHE(" * ";SUPPRESPACE(A$2:A$100)))+ESTNUM(CHERCHE(" *-";A$2:A$100)))*ESTERREUR(CHERCHE(" * * ";SUPPRESPACE(A$2:A$100)))*ESTERREUR(CHERCHE("-*-*";A$2:A$100));LIGNE(A$2:A$100));LIGNE(B1)));"")
LIGNE(B1) = 1 pour la formule en B2, s'incrémente en dessous.A quoi correspond B1 à la fin de la formule ?
=LET(X;SUPPRESPACE(SUBSTITUE(A1;"-";" ")); nbr; NBCAR(X)+1-NBCAR(SUBSTITUE(X;" ";""));SI(nbr=3;SUPPRESPACE(A1);""))
Function Extraire_3_mots(colonne As Range, ordre&) As String
Dim tablo, i&, s, n&
tablo = Intersect(colonne, colonne.Parent.UsedRange) 'matrice, plus rapide
For i = 1 To UBound(tablo)
s = Split(Application.Trim(Replace(tablo(i, 1), "-", " ")))
If UBound(s) = 2 Then
n = n + 1
If n = ordre Then Extraire_3_mots = tablo(i, 1): Exit Function
End If
Next
End Function