Bonjour,
J'ai réalisé un peu programme (avec l'aide d'internet) pour interroger des pages internet de chronopost pour récupérer l'information de l'état d'avancement du colis.
Le programme fonctionne mais fonctionne seulement avec la première adresse, mais lorsque j'arrive pour la deuxième adresse il fait une erreur de ce type :
"Erreur d’exécution '-214741848(80010108)':
Erreur Automation
L'objet invoqué s'est déconnecté de ses clients."
A chaque relance du programme, même résultat
Voici le code :
merci d'avance pour votre aide
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 Sub Wait(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 Sub ouvrirIE_Chronopost() 'Déclaration des variables Dim ie As New InternetExplorer Dim IEdoc As HTMLDocument Dim Statut As String Dim Adresse As String Dim NLigne As Integer 'Application.ScreenUpdating = False Windows("Table HL_20150630.xls").Activate Sheets("Analyse Flux Aller").Activate 'NLigne = Cells(1, 1).CurrentRegion.Rows.Count For i = 0 To 200 Adresse = Cells(i, 36) ' ex d'adresse 'http://www.chronopost.fr/expedier/inputLTNumbersNoJahia.do?listeNumeros=DH953027702EE 'http://www.chronopost.fr/expedier/inputLTNumbersNoJahia.do?listeNumeros=DH957027699EE 'http://www.chronopost.fr/expedier/inputLTNumbersNoJahia.do?listeNumeros=DH957027889EE If Adresse <> "" And Cells(i, 43) = "CHRONOPOST" Then 'Charger le site internet de Chronopost ie.Navigate Adresse 'Affichage de la fenêtre IE ie.Visible = True 'On attend le chargement complet de la page Wait ie 'On pointe le membre Document Set IEdoc = ie.document Set HtmlElementStandard = IEdoc.body.all(47) ' définition du statut (innertext à utiliser ??) Statut = HtmlElementStandard.innerText ' on place le statut dans la cellule concernée Cells(i, 37).Value = Right(Statut, Len(Statut) - 47) 'On libère la variable IE Set ie = Nothing 'Fermer l'instance d'IE ie.Quit End If Next i 'Application.ScreenUpdating = True End Sub
Partager