Voilà un exemple sans tableau qui donne apparemment le même résultat que dans mon précédent exemple :
Dim Phrase As String
Dim Temp As String
Dim MotPlusLong As String
Dim MotPlusLong_Temp As String
Dim i As Integer
Dim l As Integer, l_temp As Integer
Dim nbMots As Integer
Phrase = "CodesSources, le rendez-vous des dresseurs de puces."
' élimination des "," et "."
Temp = Replace(Phrase, ",", "")
Temp = Replace(Temp, ".", "")
' Analyse de la phrase car par car
For i = 1 To Len(Temp)
Select Case Asc(LCase(Mid$(Temp, i, 1))) ' calcul de la valeur des caractères transformés en minuscules
Case 97 To 122 ' pour les car de a à z
l_temp = l_temp + 1
MotPlusLong_Temp = MotPlusLong_Temp & Mid$(Temp, i, 1)
Case ElseIf l_temp > l Then l l_temp: MotPlusLong MotPlusLong_Temp
l_temp = 0
MotPlusLong_Temp = ""
nbMots = nbMots + 1
End Select
Next
' affichage des résultats
MsgBox "Nb de mots = " & nbMots & Chr$(13) & _
"Mot le plus long : " & MotPlusLong & Chr$(13) & _
"Nb de caractères : " & Len(MotPlusLong)
Cordialement, CanisLupus