Private Sub Worksheet_Change(ByVal Target As Range)
Dim y$, tablo, max&, s$, i&, j&
Application.EnableEvents = False
If Not Intersect(Target(1, 1), Range("A3:A5")) Is Nothing Then
Application.EnableEvents = False
y = Application.WorksheetFunction.Trim(Target(1, 1))
tablo = Split(y, " ")
If UBound(tablo) - LBound(tablo) + 1 >= 3 Then
max = 0
For i = 1 To UBound(tablo)
If Len(tablo(i)) > Len(tablo(max)) Then max = i
Next i
j = InStr(y, tablo(max))
Target(1, 1) = Trim(Left(y, j - 1))
Target(1, 2) = tablo(max)
Target(1, 3) = Trim(Mid(y, j + Len(tablo(max))))
Else
Target(1, 2).Resize(, 2) = ""
End If
End If
Application.EnableEvents = True
End Sub