Trouver la première lettre d'un mot d'une phrase [Résolu/Fermé]

Signaler
-
 Sebii -
Bonjour,

Je appel à votre expertise sur excel pour m'aider car étant excsessivement nul :)

J'aimerai savoir s'il existe une formule permettant de trouver la première lettre d'un mot positionné a un endroit précis dans un texte séparé par un point virgule.

Exemple :

Texte :
;Il;était;une;fois;dans;louest;américain

=> Rechercher la première lettre du mot numero 4
Résultat : F

L'idée est de renseigner une série de position dans différentes cellules et d'en faire ressortir en dessous la première lettre du mot correspondant.

D'avance merci beaucoup pour votre aide.

Seb

2 réponses

Messages postés
818
Date d'inscription
jeudi 24 septembre 2015
Statut
Membre
Dernière intervention
28 octobre 2019
57
Bonjour,

Le seul moyen que je vois pour le moment :

https://www.cjoint.com/c/FGwmJzLgk3H

A toi de voir si ca te convient.

cdlt
Messages postés
52050
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
4 août 2020
13 827
... et je pense que c'est l'unique moyen !
Merci Fahora
Le résultat attendu renvoi bien la valeur recherchée du texte.
Par contre est-il possible de ne pas spécifier de rajouter le nombre précédent dans la formule indiqué ici en +E2 ?

=TROUVE(";";$A$2;TROUVE(";";$A$2)+E2)

Car cela m'oblige a connaitre le nombre précédent. Or dans mon cas j'ai besoin de rentrer des chiffres qui ne se suivent pas et qui doivent faire ressortir la lettre dans le texte.
Exemple :
8 95 34 2 12 etc...

Merci beaucoup !!!
Messages postés
52050
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
4 août 2020
13 827 > sebii
Une solution est d'utiliser la fonction RECHERCHEH ... https://www.cjoint.com/c/FGwnOd7jMdO
Mais Fahora en a certainement une autre !
Messages postés
23421
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
11 août 2020
6 284
Bonjour,

avec une fonction personnalisée : https://www.cjoint.com/c/FGwo2mJfSSZ
vu que je découpe la phrase avec le séparateur pour moi "il" est le 2ème mot.
eric

En essayant continuellement, on finit par réussir. 
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Bonjour Eric,
Désolé de te solliciter une nouvelle fois, j'aimerai savoir s'il est possible de faire une petite modif de ta fonction pour rechercher la 2ieme ou 3ieme lettre de chaque mot ?
J'ai essayé de rajouter des +1 ou +2 un peu partout mais sans succès... Je ne suis décidement pas fait pour le code...

If position > UBound(tmp) Then initialeMot = "" Else initialeMot = UCase(Left(tmp(position - 1), 1))

Merci beaucoup

Seb
Messages postés
23421
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
11 août 2020
6 284
Bonjour,

ajout d'un paramètre.
Syntaxe :
=lettreMot(phrase; nomMot; numLettre)
ou
=lettreMot(phrase; nomMot; numLettre; sep)
Function lettreMot(phrase As String, nomMot As Long, numLettre As Long, Optional sep As String = ";") As String
    Dim tmp
    tmp = Split(phrase, sep)
    If nomMot > UBound(tmp) Then
        lettreMot = ""
    Else
        If Len(tmp(nomMot - 1)) < numLettre Then
            lettreMot = ""
        Else
            lettreMot = UCase(Mid(tmp(nomMot - 1), numLettre, 1))
        End If
    End If
End Function

eric
Merci beaucoup Eric pour ton coup de main :)

J'ai copié la fonction dans le code mais à chaque fois le résultat me renvoi une valeur vide....

Je ne sais pas si jai bien renseigné la cellule :

A2 : ABC DEF GHI JKL LMN OPQ RST UVW (phrase test)
C1 : 3
Séparateur : reste l'espace

=lettreMot($A2;C1;1)

Résultat attendu H

Ai-je bien renseigné la syntaxe ?

Merci.
Messages postés
23421
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
11 août 2020
6 284
1) Syntaxe :
=lettreMot(phrase; nomMot; numLettre)
Si tu mets 1 pour numLettre il te retournera l'initiale.

2) j'avais mis ton séparateur ";" par défaut. Si tu le changes il faut lui indiquer dans le 4ème paramètre (optionnel) ou bien le changer dans la fonction :
=lettreMot($A2;C1;3;" ")
Super ca marche merci beaucoup !!!!!!