interagir sur internet avec vba
Bonjour,
J'essaye de faire une macro excel vba pour lancer la recherche d'une page d'entreprise sur le site Societe.com à partir de son numéro de SIREN.
J'arrive à aller sur la page de recherche du site Societe.com et à renseigner le numéro de SIREN .... mais pas à lancer la recherche. Code ci-dessous.
La commande [With CreateObject("wscript.shell"): .SendKeys "{ENTER}": End With] ne marche pas.
Si quelqu'un peut m'aider : merci d'avance !
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Public Sub SOCIETE()
' Recherche la page societe.com d'une entreprise à partir de son numéro de SIREN
Dim oNav As SHDocVw.InternetExplorer
Dim oDoc As MSHTML.HTMLDocument
Set oNav = New SHDocVw.InternetExplorer
NumSIREN = "831267992"
' Va sur la page recherche de societe.com
URLcible = "https://www.societe.com/cgi-bin/recherche"
oNav.navigate URLcible
oNav.Visible = True
' Attend le chargement de la page
Do Until oNav.readyState = READYSTATE_COMPLETE
DoEvents
Loop
' Renseigne le numéro de SIREN
With oNav.document.getElementById("entreprncs")
.Value = NumSIREN
.Focus
End With
' Lance la recherche
With CreateObject("wscript.shell"): .SendKeys "{ENTER}": End With
End Sub |
Encore merci et nouvelle enigme
Encore merci pour tes précisions - vraiment utiles.
Je continue tant que ça marche ;-) :
la vieille routine de Jerusalem (moi j'aime bien les vieux trucs qui marchent) plante sur le code ci-dessous.
J'ai l'impression qu'il n'arrive pas à rédupérer l'ID mentionnée sur la page mentionnée (qui existe bien pourtant).
C'est parce qu'il y a un pb d'évitement des robots sur la page ?
Bon weekend. Luc
PS : oui, d'accord, les temporisations sont gérées de manière pas très élégantes dans mon exemple ;-)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| Sub Macro1()
'
Dim oNav As SHDocVw.InternetExplorer
Set oNav = New SHDocVw.InternetExplorer
' Ouvre la page recherche
URLcible = "https://enseignement-catholique.fr/repertoire-de-l-enseignement-catholique-rechercher-etablissement/"
oNav.navigate URLcible
oNav.Visible = True
' Attend le chargement de la page
Do Until oNav.readyState = READYSTATE_COMPLETE
DoEvents
Loop
' Temporise le chargement de la page
newMinute = Minute(Now())
newSecond = Second(Now()) + 15
waitTime = TimeSerial(Hour(Now()), newMinute, newSecond)
Application.Wait waitTime
' Renseigne le département
CodePostal = oNav.document.getElementsById("ville_etb")
MsgBox (CodePostal.Length)
End Sub |