Bonjour,
MFerrand a parfaitement raison mais je te donne une autre piste que gmb (je les salut bien bas tous les deux au passage ) avec une fonction perso matricielle qui attend comme argument, la cellule qui contient la chaîne et une matrice indiquant la position de chaque mot que tu souhaites récupérer. J'ai fais un épurage sommaire mais pour commencer ça va te donner une idée !
La fonction à mettre dans un module standard :
Function DECORTIQUER(Cel As Range, TblValeur) As String()
Dim T
Dim Tbl() As String
Dim Chaine As String
Dim I As Integer
Chaine = Application.Clean(Cel.Value)
Chaine = Replace(Chaine, ",", "")
Chaine = Replace(Chaine, "-", " ")
T = Split(Chaine, " ")
For I = 1 To UBound(TblValeur)
ReDim Preserve Tbl(1 To I)
Tbl(I) = T(TblValeur(I, 1) - 1)
Next I
DECORTIQUER = Tbl
End Function
que tu appelles de la façon suivante depuis Excel :
=DECORTIQUER(A2;{1;2;4;5;6})
où 1, 2, 4, 5 et 6 sont les positions des mots que tu veux récupérer dans la chaîne donc, pour pouvoir utiliser cette fonction il faut que tu la valides avec Ctrl+Maj+Entrée (curseur dans la barre de formule) en ayant au préalable sélectionné les 5 cellules en ligne et non en colonne !