Option Explicit
Sub MajusculePremiereLettre()
Dim myRange As Range
Dim myArray As Variant
Dim i As Long
Set myRange = Selection
myArray = myRange.Value
On Error Resume Next
For i = 1 To UBound(myArray, 1)
myArray(i, 1) = UCase$(Left$(myArray(i, 1), 1)) & _
LCase$(Right$(myArray(i, 1), Len(myArray(i, 1)) - 1))
Next
myRange = myArray
MsgBox ("Fin de traitement")
End Sub