Re,
Ouille youille quand je vois ça
https://www.excel-pratique.com/fr/vba/variables
Vous avez déclaré "Dim Rng As Range", supprimez "On Error Resume Next" SVP
On Error Resume Next
'Only the visible cells in the selection
Set rng = Application.WorksheetFunction.VLookup(sh.Range("J9").Value, ThisWorkbook.Sheets("Mapping").Range("A:K"), 11, False)
'You can also use a fixed range if you want
'Set rng = Sheets("YourSheet").Range("D4:D12").SpecialCells(xlCellTypeVisible)
On Error GoTo 0
Si vous avez une erreur à ce niveau, c'est que ce qui est retourné à "Rng" n'est pas une plage, mais une valeur... donc rien à voir
Donc lorsque vous appelez ensuite
RangetoHTML(rng)
Vous avez forcément droit à une erreur
Comme je ne sais pas ce que vous voulez faire exactement sur votre feuille "Mapping"
A+