Pb extraction cours de bourse du code html de Sicavonline

Merci Patrick,

je suis bien en France métropolitaine, mais j'ai toujours la même erreur !

image

j'ai oublié quelque chose ?

re

étonnant ton fichier fonctionne chez moi

dis moi avec quoi tu tourne je vais faire des recherches

quel WindoWs?

quelle version de IE (important)?

a tu enlever IE de ton anti virus car sur W10 (j'ai deja vu ca) IE est bloquer pour forcer l'utilisateur a utiliser edge ou autre et les librairies sont bloquées

ok

essaie "POST" à la place de "get"

  • Win10 pro 64bits
  • Antivirus Avast
  • IE n'est pas bloqué
  • excel 2013fr

IE est opérationnel comme Edge et Firefox, mais j'utilise chrome plus optimiser le fonctionnement de google sheets

avec chrome http://supportdetails.net/CXGJGGWJ

avec IE http://supportdetails.net/AMJQ8IE8

idem avec post

image

re

a tu essayé avec "post"?

ouvre ça avec chrome et clique français

https://en.wikipedia.org/wiki/MSXML

quand tu clique sur debogage c'est quelle ligne qui est en jaune ?

oui j'ai testé avec post (voir ci-dessus)

j'ai la page wiki, mais pas de choix de langue ...

image

quand je clique sur debogage c'est .send qui est en jaune

image

j'ai testé PowerQuery et on revient à un problème de SSL, comme Rico44

image

bizarre ca ça a l'air d'etre propre a W10 et version excel et/ou aux paramètres de ton pc

j'ai testé sur W10 et office 2013 ça fonctionne

dans le doute

Function GetHtmlcode$(url)
    With CreateObject("MSXML2.XmlHttp")
        .Open "Post", url, False
        .setRequestHeader "Accept", "text/html, application/xhtml+xml, */*"
        .setRequestHeader "Accept-Language", "fr-FR"
        .setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
        .setRequestHeader "Accept-Encoding", "gzip, deflate"
        .setRequestHeader "Host", "www.sicavonline.fr"
        .setRequestHeader "DNT", 1
        .setRequestHeader "Connection", "Keep - Alive"
        .setRequestHeader "Cache-Control", "no-cache"
        .send
        GetHtmlcode = .responsetext
    End With
End Function

Toujours pareil !

Je ne pense pas à un problème de code ... je n'ai pas pourtant pas de proxy-http autre que ma box, mais je pense que c'est là que cela doit se passer. Et je ne suis certainement pas un cas isolé face à ce problème car Rico44 le rencontre aussi. Pourtant toutes les requêtes ont toujours fonctionné (que je les traite ensuite en DOM ou en texte mais là n'est pas le sujet, c'est un problème d'accès).

image image

Je pense en effet avoir trouvé l'origine du problème (tu m'as mis sur la piste en évoquant IE).Car si j'interroge avec IE, ce qui n'est pas l cas avec chrome.

image

bizarre quand même si le site exige une connexion sécurisée je devrais avoir le même problème dans IE direct et je ne l'ai pas

Steelson et PatrickToulon: kudos !

Vos interventions sont incroyables de rapidité, précision et pertinence !

Je me sens vraiment tout petit...Et pas encore tout saisi des echanges ...

Pour repondre à la question posée par Patrick: je cherchais juste à recuperer la valeur liquidative 120€65 en face de l'url. (Cela me permet de rafraichir l'etat d'un portefeuille decrit par ailleurs dans un autre tableau excel)

Test interessant de Steelson: j'ai effectivement le message d'erreur ssl avec l'url sur IE, mais pas sur Chrome, Edge, ni Firefox.....Je ne dois pas toucher aux reglages de IE qui me permettent d'acceder à certaines applications pro.

Quel serait le code excel qui contourne le problème que je dois tester en remplacement ce celui que j'ai posté initialement ?

Au risque de me faire incendier par des puristes, voici la solution assez alambiquée avec excel pour récupérer le code source !

Tu lances, tu ne touches à rien, tu vas boire un café ou tu vas pi...er.

A comparer avec la simplicité de la solution google sheets qui me séduit de plus en plus (solution utilisant le langage XPath)

#If VBA7 Then
    Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
        (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
#Else
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
        (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
#End If

Sub telecharger()
Dim nav As Long, MyData As DataObject
Set MyData = New DataObject
Dim page As New HTMLDocument, elem As Object

    fenetre = ActiveWindow.Caption

    nav = ShellExecute(0, "open", "https://www.qwant.com/", 0, 0, 1)
    Application.Wait (Now + TimeValue("00:00:02"))

    For ligne = 2 To Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row

        url = Sheets(1).Cells(ligne, 1)

        SendKeys "%d"
        Application.Wait (Now + TimeValue("00:00:01"))
        SendKeys "view-source:" & url
        SendKeys "{ENTER}"
        Application.Wait (Now + TimeValue("00:00:10"))
        SendKeys "^a"
        Application.Wait (Now + TimeValue("00:00:01"))
        SendKeys "^c"
        Application.Wait (Now + TimeValue("00:00:01"))
        MyData.GetFromClipboard
        txt = MyData.GetText(1)

    ' version DOM
        page.body.innerHTML = txt
        For Each elem In page.getElementsByTagName("div")
            If elem.getAttribute("id") = "VL" Then Sheets(1).Cells(ligne, 2) = elem.innerHTML
        Next

    Next

    fin
    Application.Wait (Now + TimeValue("00:00:02"))
    AppActivate fenetre & " - Excel"

End Sub

Sub fin()
    Open Environ("TEMP") & "\" & "fin" & ".htm" For Output As #1
        Print #1, "<html><body>Fin du traitement, retour sur excel ...</body></html>"
    Close #1
    ShellExecute 0, "open", Environ("TEMP") & "\" & "fin" & ".htm", vbNullString, "C:\TEMP\", 1 'SW_SHOWNORMAL
End Sub
Rechercher des sujets similaires à "extraction cours bourse code html sicavonline"