Option Explicit
Sub Entrer_Mots_Gras()
Dim T, tb, Rng As Range
T = Timer
[B1].Resize(Rows.Count, 150).ClearContents
Set Rng = ActiveSheet.UsedRange
tb = Mots_Gras(Rng)
Rng.Offset(, 1).Resize(, UBound(tb)) = tb
MsgBox "Durée " & Format(Timer - T, "0.00 \sec")
End Sub
Function Mots_Gras(Rng As Range)
Dim x, I%, n%, pos&, z&, a&, tbl2
ReDim tbl2(1 To Rng.Rows.Count, 20)
For I = 1 To UBound(tbl2)
x = Split(Rng.Cells(I, 1).Value)
pos = 1
n = 0
For a = 0 To UBound(x)
z = InStr(pos, Rng.Cells(I, 1), x(a))
If Rng.Cells(I, 1).Characters(z, 1).Font.Bold = True Then n = n + 1: tbl2(I, n) = x(a)
pos = pos + Len(x(a))
Next
Next
Mots_Gras = tbl2
End Function