[COLOR="DarkSlateGray"][B]Sub insertion_espace_2()
Dim oCel As Range, tmp$, i&
With Selection [COLOR="Olive"]'ou tout autre plage qu'on voudra...[/COLOR]
For Each oCel In .Cells
If VarType(oCel) = vbString Then
tmp = oCel.Value
For i = Len(tmp) To 2 Step -1
If Mid$(tmp, i, 1) = UCase(Mid$(tmp, i, 1)) And Mid$(tmp, i, 1) <> "-" Then
If (Mid$(tmp, i + 1, 1) <> UCase(Mid$(tmp, i + 1, 1)) Or Mid$(tmp, i - 1, 1) <> UCase(Mid$(tmp, i - 1, 1))) And Mid$(tmp, i - 1, 1) <> "-" Then
tmp = Left$(tmp, i - 1) & Space(1) & Right$(tmp, Len(tmp) + 1 - i)
End If
End If
Next i
oCel.Value = WorksheetFunction.Trim(tmp)
End If
Next oCel
End With
End Sub[/B][/COLOR]