Le problème vient des espaces après le dernier "."
Tu peux corriger le problème en reprenant ce code :
Option Explicit
Function MajPhrase(phrase$)
Dim temp
Dim i%, t$
temp = Split(phrase, ".")
On Error Resume Next
For i = LBound(temp) To UBound(temp)
t = Trim(temp(i))
If i = 0 Then
MajPhrase = UCase(Left(t, 1)) & LCase(Right(temp(i), Len(t) - 1))
Else
MajPhrase = MajPhrase & ". " & UCase(Left(t, 1)) & LCase(Right(t, Len(t) - 1))
End If
Next i
End Function