Bonjour à tous,

Je veux récupérer deux données qui se trouvent sur un site (le Type d'entité et la Forme légale d'une entreprise).

Le but est de faire une boucle sur plusieurs numéro. Je prends un exemple de numéro : 400186069.

Les valeurs cherchées sont : Personne morale + "Société anonyme Depuis le 24 janvier 1951"

Voici le code utilisé :

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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
Option Explicit
 
Sub RechercheVBAExcel()
    'Déclaration des variables
    Dim IE As New InternetExplorer
    Dim IEDoc As HTMLDocument
    Dim InputGoogleZoneTexte As HTMLInputElement
    Dim InputGoogleBouton As HTMLInputElement
 
    Dim HtmlElementStandard As HTMLGenericElement
    Dim LeTexteExtrait As String
    Dim EntiteExtrait
    Dim FormLegExtrait
    Dim elem As Integer
    Dim RetVal As Long
    Dim Ligne As Long
    Dim EntiteOK As String
    Dim FormLegOK As String
 
    'Chargement d'une page Web Google
    IE.Navigate "https://kbopub.economie.fgov.be/kbopub/zoeknummerform.html?lang=fr"
 
    'Affichage de la fenêtre IE
    IE.Visible = True
 
    'On attend le chargement complet de la page
    WaitIE IE
 
    'On pointe le membre Document
    Set IEDoc = IE.document
 
    'On pointe notre Zone de texte
    Set InputGoogleZoneTexte = IEDoc.all("nummer")
 
    'On définit le texte que l'on souhaite placer à l'intérieur
    InputGoogleZoneTexte.Value = ActiveCell.Value
 
 
 
 
    'On pointe notre bouton
    Set InputGoogleBouton = IEDoc.all("actionLu")
 
    'On simule un clic
    InputGoogleBouton.Click
 
    'On attend la fin de la recherche
    WaitIE IE
 
    '***********
    'Allons chercher ce texte dans notre Item46
    Set HtmlElementStandard = IEDoc.body.all(115)
 
 
    'On attend la fin de la recherche
    WaitIE IE
 
 
 
    EntiteOK = "NOK"
    FormLegOK = "NOK"
    For elem = 0 To IEDoc.body.all.Length - 1
 
        'Récupération du type d'entité
        If IEDoc.body.all(elem).className = "QL" And IEDoc.body.all(elem).innerText = "Type d'entité: " Then
            EntiteExtrait = IEDoc.body.all(elem + 1).innerText
            'MsgBox EntiteExtrait
            EntiteOK = "OK"
        End If
 
        'Récupération de la forme légale
        If IEDoc.body.all(elem).className = "RL" And IEDoc.body.all(elem).innerText = "Forme légale: " Then
            FormLegExtrait = IEDoc.body.all(elem + 1).innerText
            'MsgBox FormLegExtrait
            FormLegOK = "OK"
        End If
        If EntiteOK = "OK" And FormLegOK = "OK" Then GoTo RechercheComplete
    Next elem
 
 
RechercheComplete:
 
 
    'On le place dans notre variable prévue à cet effet
    ' LeTexteExtrait = HtmlElementStandard.innerText
 
    'On affiche le texte
    'MsgBox LeTexteExtrait, Title:="Le texte extrait de la page"
    '**********
 
 
    'PLacement des données
    Ligne = ActiveCell.Row
    Range("X" & Ligne).Value = EntiteExtrait
    Range("Y" & Ligne).Value = FormLegExtrait
 
    'On attend la fin de la recherche
    WaitIE IE
 
    'Suppreesion des instances IE
    RetVal = Shell("Taskkill /im iexplore.exe /f", 0)
 
    'On libère les variables
    Set IE = Nothing
    Set IEDoc = Nothing
End Sub
Sub WaitIE(IE As InternetExplorer)
    'On boucle tant que la page n'est pas totalement chargée
    Do Until IE.readyState = READYSTATE_COMPLETE
        DoEvents
    Loop
End Sub


Hier, quand j'étais sur mon lieu de travail, tout fonctionnait parfaitement. Aujourd'hui (chez moi en Wifi) - c'est la seule chose qui a changé - Je pense? -, j'ai une erreur :

Erreur d'exécution '70' :
Permission refusée

sur la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
For elem = 0 To IEDoc.body.all.Length - 1
Avez-vous une idée pour résoudre ce truc de p.... ? Si je fais Débogage et F5, la macro se relance sans soucis.

NB : en pas à pas, pas de soucis.