Sub testXML()
Dim Tbl, T#, RnG As Range
T = Timer
With [b1]
.Resize(Rows.Count, 50).ClearContents
Tbl = GetBolderWord([A1].CurrentRegion)
.Resize(UBound(Tbl) + 1, 50).Value = Tbl
End With
MsgBox "Durée " & Format(Timer - T, "0.00 \sec")
End Sub
Function GetBolderWord(cel As Range)
Dim x$, I&, Tbl(), p&, a&, q&
ReDim Tbl(cel.Count, 50)
x = cel.Value(xlRangeValueXMLSpreadsheet)
With CreateObject("htmlfile")
.body.innerhtml = x
Set celhtml = .getelementsbytagname("Cell")
For I = 0 To celhtml.Length - 1
Set chainebolds = celhtml(I).getelementsbytagname("B")
p = 0
For a = 0 To chainebolds.Length - 1
mots = Split(chainebolds(a).innertext)
For q = 0 To UBound(mots)
Tbl(I, p) = mots(q)
p = p + 1
Next
Next
Next
End With
GetBolderWord = Tbl
End Function