Bonjour les artistes forumeurs !
Je dispose d'une fonction qui extrait un mot selon sa position dans la chaîne. Cette fonction sert à extraire des caractéristiques variables dans de très longues chaînes de caractères. Hors, repérer la position du mot à extraire dans ces chaînes est compliqué et source de nombreuses erreurs.
Je souhaiterai donc soit modifier la fonction ci-dessous soit en écrire une nouvelle qui me renverrai la position du mot dans la chaîne.
Jusqu'à présent, toute mes tentatives me renvoient la position du premier caractère du mot cherché et non la position du mot.
Merci à tous pour votre aide.
Clochete
Je dispose d'une fonction qui extrait un mot selon sa position dans la chaîne. Cette fonction sert à extraire des caractéristiques variables dans de très longues chaînes de caractères. Hors, repérer la position du mot à extraire dans ces chaînes est compliqué et source de nombreuses erreurs.
Je souhaiterai donc soit modifier la fonction ci-dessous soit en écrire une nouvelle qui me renverrai la position du mot dans la chaîne.
Code:
Function Extraire_Mot(Texte As String, No_Mot) As String
Dim CountMot As Long
With Application.WorksheetFunction
CountMot = Len(Texte) - Len(.Substitute(Texte, " ", "")) + 1
No_Mot = No_Mot - 1
Extraire_Mot = Mid(Mid(Mid(.Substitute(Texte, " ", "^", No_Mot), 1, 256), _
.Find("^", .Substitute(Texte, " ", "^", No_Mot)), 256), 2, _
.Find(" ", Mid(Mid(.Substitute(Texte, " ", "^", No_Mot), 1, 256), _
.Find("^", .Substitute(Texte, " ", "^", No_Mot)), 256)) - 2)
End With
End Function
Jusqu'à présent, toute mes tentatives me renvoient la position du premier caractère du mot cherché et non la position du mot.
Merci à tous pour votre aide.
Clochete
Dernière édition: