Bonjour,
Par formules, c'est un peu compliqué. Le moyen le plus simple est une fonction personnalisée :
Function SEPARMAJ(ch As String) As String
Dim i%
Application.Volatile
ch = Trim(ch)
For i = Len(ch) To 2 Step -1
If Mid(ch, i, 1) Like "[A-Z]" And Mid(ch, i - 1, 1) <> " " Then
ch = Left(ch, i - 1) & " " & Right(ch, Len(ch) - i + 1)
End If
Next i
SEPARMAJ = ch
End Function
A placer dans un module standard, et utiliser comme n'importe quelle fonction d'Excel.
On peut aussi l'utiliser avec une macro qui opèrera les modifications sur place...
Cordialement.