Trouver la position d'un mot dans une phrase

Bonjour,

J'aimerais savoir si vous avez une formule en stock pour trouver la position d'un mots dans une phrase ?

En effet, j'ai ce type de commentaire à retraiter. Je souhaite faire ressortir le mots "interrupteur" dans ce cas précis.

Intervention jean du 01/01/2013 changement interrupteur fait.

Il y à bien la formule =TROUVE(″interr″;A2) mais ça donne le numéro d’emplacement et pas la position par rapport aux autres mots.

J'aimerais que la formule puisse renvoyer la position du mot "interrupteur". La réponse serait 6 dans ce cas.

Merci d'avance.

Bonjour,

à ma connaissance il n'y a pas de formule de ce type, mais peut-être est ce que je me trompe.

Tu as une solution en VBA, ajoutes ce qui suit dans un module standard, tu pourra y faire appel directement sur ta feuille de calcul.

Option Explicit

Function PLACEMOT(cible As String, mot As String) As Long

Dim TB() As String
Dim i As Integer

If InStr(cible, " ") = 0 Then Exit Function

TB() = Split(cible, " ")

For i = 0 To UBound(TB())
    If Trim(TB(i)) = Trim(mot) Then PLACEMOT = i + 1: Exit Function
Next i

End Function

Pour appeler ta fonction, tu te place sur une cellule excel et tu entres "=PLACEMOT(Commentaire,MotàRechercher)" sans les guillemets !

La fonction retourne 0 si le mot n'a pas été trouvé dans ton commentaire, dans le cas contraire elle te retourne la position du mot!

Dit moi si c'est bon pour toi,

Yann

Bonjour,

Une proposition avec une fonction personnalisée VBA.

Cdlt.

49nonesofar.xlsm (18.72 Ko)
Public Function Position_Mot(Texte As String, Mot As String)
Dim a As Variant, n As Long
    Position_Mot = CVErr(xlErrNA)
    a = Split(Texte, " ")
    For n = LBound(a) To UBound(a)
        If a(n) = Mot Then
            Position_Mot = n + 1
            Exit Function
        End If
    Next
End Function

Merci à vous deux,

Les deux solutions fonctionnent, sauf que si la personne à noter interrupteur en majuscule INTERRUPTEUR, la formule ne fonctionne pas.

J'etais persuadé qu'on pouvait y arriver sans vba, mais bon j'ai appris un truc aujourd'hui

Encore merci

Re-Bonjour,

Tiens, là fonction mise à jour qui devrait prendre en compte ce type de problème!

(Et qui retournera 0 si le commentaire n'est pas une phrase! )

Option Explicit

Function PLACEMOT(cible As String, mot As String) As Long

Dim TB() As String
Dim i As Integer

If InStr(cible, " ") = 0 Then PLACEMOT = 0 :Exit Function

TB() = Split(cible, " ")

For i = 0 To UBound(TB())
    If Trim(Ucase(TB(i))) = Trim(Ucase(mot)) Then PLACEMOT = i + 1: Exit Function
Next i

End Function

Yes ça marche,

sujet résolu.

Merci les gars

Rechercher des sujets similaires à "trouver position mot phrase"