Sub Majuscules1()
'traite la plage sélectionnée
Dim a As Range, t, ncol%, i&, j%
For Each a In Selection.Areas 'pour les selections multiples
If a.Count = 1 Then
a = UCase(a) 'LCase
Else
t = a 'matrice, plus rapide
ncol = UBound(t, 2)
For i = 1 To UBound(t)
For j = 1 To ncol
t(i, j) = UCase(t(i, j)) 'LCase
Next
Next
a = t
End If
Next
End Sub