Il te faut Re ou Rm pour la résistance? (limite élastique ou mécanique)
Il te faut dans quelles unités les dimensions?
Comment comptes-tu gérer ce genre de données? densité entre 0.870 et 11.0 g/cc par exemple?
J'ai testé ton fichier Steelson, sans succès malheureusement.
Pour la récupération des données, je procède de cette manière:
Sub test()
Set request = CreateObject("microsoft.xmlhttp")
Dim URL As String
Dim doc As New HTMLDocument
URL = "http://www.matweb.com/search/DataSheet.aspx?MatGUID=2f57f75f8afa43e39ece09ab127bd0f5"
request.Open "POST", URL, False
request.setRequestHeader "Accept", "text/html, application/xhtml+xml, */*"
request.setRequestHeader "Accept-Language", "fr-FR"
request.setRequestHeader "User-Agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)"
request.setRequestHeader "Accept-Encoding", "gzip, deflate"
request.setRequestHeader "Host", "http://www.matweb.com/"
request.setRequestHeader "DNT", 1
request.setRequestHeader "Connection", "Keep - Alive"
request.send
doc.body.innerHTML = request.responseText
Dim listeProprietes As IHTMLElementCollection
Set listeProprietes = doc.getElementsByTagName("tr")
Dim Densite As String, DureteA As String, TensileStr As String, ElongationMax As String, TearStr As String, DureteD As String
Dim i As Integer
For i = 0 To listeProprietes.Length - 1
If InStr(listeProprietes.Item(i).innerText, "Density") > 0 Then
Densite = listeProprietes.Item(i).all.Item(1).innerText
ElseIf InStr(listeProprietes.Item(i).innerText, "Hardness, Shore A") > 0 Then
DureteA = listeProprietes.Item(i).all.Item(1).innerText
ElseIf InStr(listeProprietes.Item(i).innerText, "Hardness, Shore D") > 0 Then
DureteD = listeProprietes.Item(i).all.Item(1).innerText
ElseIf InStr(listeProprietes.Item(i).innerText, "Tensile Strength, Ultimate") > 0 Then
TensileStr = listeProprietes.Item(i).all.Item(1).innerText
ElseIf InStr(listeProprietes.Item(i).innerText, "Elongation at Break") > 0 Then
ElongationMax = listeProprietes.Item(i).all.Item(1).innerText
ElseIf InStr(listeProprietes.Item(i).innerText, "Tear Strength") > 0 Then
TearStr = listeProprietes.Item(i).all.Item(1).innerText
End If
Next i
Set request = Nothing
End Sub
Ce code fonctionne, il suffira de transformer l'URL en paramètre de la procédure, et ensuite de traiter les informations (extraire les marges, les unités etc...)