Voici la méthode la plus basique que j'utilise et qui s'adapte à tous les cas.
Il existe une méthode plus professionnelle se basant sur getElementById mais encore faut-il que la page web soit formatée correctement ce qui est encore assez loin d'être le cas.
1- La première des choses est de faire une interrogation avec un navigateur
2- Ensuite, affiche le code source de la page
3- Repère enfin des éléments discriminants qui te permette d'encadrer le texte recherché
exemple pour https://www.nasdaq.com/fr/symbol/ibm
la valeur recherchée est encadrée par <div id="qwidget_lastsale" class="qwidget-dollar">
et </div>
4- tu fais tourner la macro avec ces éléments
Sub Maj()
DoEvents
i = 3 ' ligne concernée, faire une boucle si plusieurs lignes
URL = Cells(i, "A")
On Error Resume Next
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", URL, False
.Send
If .Status = 200 Then
Cells(i, "B") = "'" & Split(Split(.responseText, Cells(1, "B"))(1), Cells(2, "B"))(0)
End If
End With
End Sub