Bonjour à toutes et tous,

Je souhaite récupérer dans une variable une partie du code source d’une page HTML.
En compilant plusieurs codes trouvés sur le forum, la connexion à la page souhaitée et son affichage se réalisent sans problème.

Deux questions :

1) Je souhaite ajouter un message qui avertit l’utilisateur si la page ne s’affiche pas ou la connexion à internet n’est pas active par exemple.
L’écriture suivante ne fonctionne pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Set IE = CreateObject("InternetExplorer.Application")
If IE.Busy = True Or IE.ReadyState <> READYSTATE_COMPLETE Then
MsgBox "L'accès à la page internet demandée n'a pu être réalisé." & Chr(10) & "Veuillez vérifier l'état de la connexion à internet et recommencer l'opération.", vbOKOnly + vbExclamation, "ECHEC DE CONNEXION A INTERNET"
Exit Sub
End If
2) J’ai des difficultés à récupérer la partie de caractères qui m’intéresse qui est le contenu de l’attribut « href », lui-même nœud associé de l’élément « a ». J’utilise l’objet HTML DOM. Je ne parviens pas à intégrer en VBA le code suivant (fonctionnel en Javascript) : var=document.getElementsByTagName(« a »)[0].href.
Code actuel qui présente des erreurs de type ‘Objet’ et déclaration de variable. J’ai activé les références Microsoft HTML Objects Library et Microsoft Internet Controls
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
'---------------------------------------------------------------------------------------
' Procedure : Extraction Coordonnées Lambert
' DateTime  : 12/12/2008 23:09
' Author    : Basé sur le code de Philben - www.developpez.com
' Purpose   : Extraction des coordonnées Lambert du PRAS suivant l'adresse
'---------------------------------------------------------------------------------------
 
Dim IE As InternetExplorer
Dim CodeSource As HTMLDocument
Dim data As IHTMLElementCollection
Dim sCoord As String
Dim dX, dY As Double
Dim repere As Integer
Dim dRUE As String
Dim IPOS As Byte
 
IPOS = InStr(Me.Rue, "/")
dRUE = Left(Me.Rue, IPOS - 1)
 
'DoCmd.Hourglass True
 
'Création de l'URL d'appel, renvoi d'un HTML contenant les informations
 
Set IE = CreateObject("InternetExplorer.Application")
 
If IE.Busy = True Or IE.ReadyState <> READYSTATE_COMPLETE Then
MsgBox "L'accès à la page internet demandée n'a pu être réalisé." & Chr(10) & "Veuillez vérifier l'état de la connexion à internet et recommencer l'opération.", vbOKOnly + vbExclamation, "ECHEC DE CONNEXION A INTERNET"
Exit Sub
End If
 
IE.Visible = True
 
   IE.navigate "http://geowebas1.ci.irisnet.be/PRASAFFECTATIONFR/adrResForm.jsp?" & _
    "pst=" & Me.CP.Value & _
    "&mun=0" & _
    "&str=" & dRUE & _
    "&nbr=" & Me.N°.Value & _
    "&lng=fr"
Do Until IE.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop
  'Créér l'objet html
   Set CodeSource = IE.Document
 
   'Recherche des coordonnées
 
        'Set data = CodeSource.getElementsByTagName("a")[0].href
 
    sCoord = data
 
    repere = InStr(sCoord, "zoomTo")
 
            'Isoler les coordonnées X et Y
            If repere Then
               dX = Val(Mid$(sCoord, repere + 7, 10))
               dY = Val(Mid$(sCoord, repere + 19, 10))
            End If
 
'DoCmd.Hourglass False
 
Me.Coord_X = dX
Me.Coord_Y = dY
 
fin:
Set CodeSource = Nothing
 
Me.Type_bien_maison.SetFocus
Je joins également une partie du code de la page HTML avec les données que je souhaite récupérer dans une variable.

Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<body leftmargin="2" topmargin="2" bgcolor="#2780C5" text="white" onload="zoomTo(147924.889, 167490.169, -1, -1, 'Rue Cervantès, 65')">
 
<div <table width="321" border="0" align="left" cellpadding="5" cellspacing="2">
<tr><td width="40"  align="left" valign="middle"><img  onClick="adrForm()" src="images/jumelle.gif" width="47" height="27"></td>
    <td width="281" align="left" valign="middle">R&eacute;sultat de la recherche</td></tr>
</table><table border="1" align="left" cellpadding="3" cellspacing="3" bordercolor="#15466A" bgcolor="#2780C5" nowrap>
<tr><td>Rec</td><td>Adresse</td></tr>
<tr><td><a href="JavaScript:zoomTo(147924.889, 167490.169, -1, -1, 'Rue Cervantès, 65')">1</a></td><td>Rue Cervantès 65, 1190 Forest (Cervantesstraat)</td></tr>
</table>
 
</body>

Merci d’avance pour votre aide.