Array of string VBA

Bonjour à tous, j'ai une fonction qui retourne le mot le plus long d'une phrase entrée par l'utilisateur.

J'aimerai modifier le code (ci dessous) pour qu'il retourne le mot le plus long d'un array d'une série (string) et non d'une phrase.

Est ce que vous avez des idées ?

Merci beaucoup !

Function longestword(sentence As String) As String

Words = Split(sentence, " ")

result = ""

For i = 0 To UBound(Words)

If Len(Words(i)) > Len(result) Then

result = Words(i)

End If

Next i

longestword = result

End Function

Bonjour,

Si tu le permets ... j'ai envie de te demander d'où te vient l'idée que c'est en modifiant cette fonction personnalisée ... que tu pourras résoudre ta question ...???

Bonjour,

Une piste :

Sub Test()

    Dim Tbl(1 To 5) As String
    Dim T
    Tbl(1) = "Mot"
    Tbl(2) = "Le Mot"
    Tbl(3) = "Le Mot plus"
    Tbl(4) = "Le Mot plus long"
    Tbl(5) = "Le Mot le plus long"

    'soit avec Split()
    T = "Le mot le long de la chaine"
    MsgBox longestword(Split(T, " "))

    'soit directement le tableau
    MsgBox longestword(Tbl())

End Sub

Function longestword(sentence) As String

    Dim result As String
    Dim I As Integer

    'Words = Split(sentence, " ")
    'result = "" <--- inutile, à chaque appel de la fonction, result = ""
    For I = LBound(sentence) To UBound(sentence)
        If Len(sentence(I)) > Len(result) Then result = sentence(I)
    Next I

    longestword = result

End Function

Bonjour à tous ! James007 c'est mon intuition de codeur en herbe qui me pousse à dire ça mais en effet je comprends que ça puisse te paraitre bizarre.

Merci beaucoup Theze je vais creuser tout ça ! C'est une super piste merci beaucoup

Rechercher des sujets similaires à "array string vba"