Dim t$, espace As Boolean 'variables mémorisées
Private Sub TextBox1_KeyPress(ByVal K As MSForms.ReturnInteger)
t = TextBox1
espace = K = 32
End Sub
Private Sub TextBox1_Change()
Dim d%, p%, L%
If Not espace Then Exit Sub
espace = False
With TextBox1
For d = 1 To Len(.Text)
If Mid(.Text, d, 1) <> Mid(t, d, 1) Then Exit For
Next
p = InStrRev(RTrim(Left(t, d - 1)), " ")
L = d - p - 1
If Application.CheckSpelling(Mid(t, p + 1, L)) Then Exit Sub
[A1] = Mid(t, p + 1, L)
[A1].CheckSpelling SpellLang:=1036
TextBox1 = Left(t, p) & [A1] & Mid(.Text, p + L + 1)
[A1] = ""
End With
End Sub