Extraire la plus longue chaine de caractère d'une phrase

Bonjour à tous,

Je suis débutant sur Excel et j'aimerais faire sortir d'une cellule (sur une cellule à coté) la plus longue chaine de caractere.

Exemple: dans ma cellule A2 "Merci le forum de m'aider pour ma problématique" ; j'aimerais faire ressortir le mot le plus long dans la cellule A3, ici "problématique".

J'espère que quelqu'un saura m'aider.

Je vous remercie !

bonjour,

une solution via une fonction personnalisée

Function motlepluslong(texte)
    t = Split(Formattexte(texte))
    j = 0
    For i = 0 To UBound(t)
        If Len(t(i)) > Len(t(j)) Then j = i
    Next i
    motlepluslong = t(j)
End Function

Private Function Formattexte(texte)
    t = texte
    Worddelimiter = " .,;:?!'""()[]{}+-_/\<>" & vbCr & vbLf & vbTab & Chr(160)
    For i = 1 To Len(Worddelimiter)
        t = Replace(t, Mid(Worddelimiter, i, 1), " ")
    Next i
    Formattexte = t
End Function

voir exemple d'utilisation dans fichier joint

13motlepluslong.xlsm (16.70 Ko)

Merci pour le retour rapide.
Malheureusement, la fonction me renvoi systématiquement au dernier mot de ma liste même lorsqu'il n'est pas le plus long.

bonjour,

je ne parviens pas à reproduire ton problème. l'exemple que j'ai mis donne bien le mot le plus long et pas le dernier mot de la phrase.

Peux-tu mettre ton classeur ou un classeur exemple dans lequel tu as pu reproduire le problème que tu rencontres ?

QUALITERRE Je
Ent. RESEELEC (mer)
Ent.ELECTRICITE CONCEPT INGENIERIE
Ent. SADE CGTH brcht (jeu)
5 COM BRCHT (mer)
ROTEL (mercr)
R LITTORAL TP (lun)
Ent. SME GROUPE LECLERE (jeu)
Ent. SATELEC (mar)
Ent. SATELEC (jeu)
Ent. D.S TRAVAUX. (mar)
Ent. SME GROUPE LECLERE (jeu)
Ent. EUROTELEC. (lun)
Ent. SIGMA ELECTRIC (MER)
Ent. EIFFAGE Energie (LUN)
Ent.SADE (lun)
Ent. LONGELIN ELECTRICITE GEN(lun)

En voici une partie (j'en ai quelques milliers à traiter).

C'est vraiment super de votre part !

bonjour,

effectivement, il y avait un bug quand le premier mot de la phrase est le plus long. Voici le fichier adapté avec la formule corrigée.

31motlepluslong.xlsm (16.69 Ko)

Super ca à l'air de marché.

Pourriez vous me transmettre la fonction je ne la trouve pas dans le fichier.

Si possible, pourriez vous me dire pourquoi le précédent code ne fonctionne pas. J'aimerais comprendre.

Encore merci !!!

bonjour,

le code corrigé de la fonction se trouve dans ma première réponse. le code est dans le module1 accessible via l'onglet développeur.

pourriez vous me dire pourquoi le précédent code ne fonctionne pas.

Le code fonctionnait à condition que le mot le plus long ne soit pas le premier de la phrase.

Merci encore !

Rechercher des sujets similaires à "extraire longue chaine caractere phrase"