Jusqu'=E0 la semaine derni=E8re, je faisais des requ=EAtes web avec excel
2000 en vba sur boursorama.
Cette semaine, j'ai refait mon pc et install=E9 xp sp2 et office 2003.
Et impossible d'ex=E9cuter les requ=EAtes.
Impossible d'ouvrir en directe par fichier/ouvrir et url.
-Ai-je mal param=E9tr=E9 Xp ou excel ?
-quelqu'un pourrait faire un essai svp ?
-des conseils ?
Merci d'avance.
P=2ES. j'ai beaucoup appris sur le site de J@C, sp=E9cial thanks for him
Ou je peux taper directement cette adresse dans la boîte de saisie "ouvrir" lorsqu'appelé dans Excel
Je suis sous Windows xp2 et office 2003
La seule chose que j'ai fait de différent, c'est d'ouvrir cette adresse en premier lieu... question de tester si une autre adresse pouvait fonctionner !
Et pour voir le résultat de ce que cela donne, tu peux consulter le fichier à cette adresse : http://cjoint.com/?jxvRwrqxWk
"ocean" a écrit dans le message de news:
Cela a marché pendant 3 mois, mais depuis ma nouvelle config, ce n'est plus le cas. Merci sincèrement de ton aide. Je continue ma quête :)
Je ne crois pas que ce site soit conçu pour extraire les données directement dans Excel via une requête !
Exemple : si tu utilises .WebTables = "25" Tu obtiendras la liste des "currency" disponibles
Je vois difficilement comment arriver à réorganiser un tableau des données exploitables à partir de résultat aussi parcellaire.
Bonne chance.
"ocean" a écrit dans le message de news:
Re-Bonsoir michdenis; Merci encore
Effectivement je m'explique mal : Je te demandais DANS EXCEL, si tu pouvais, chez toi faire fichier/ouvrir avec http://www.boursorama.com/cours.phtml?symbole=1rPFP pour voir si la page s'affiche dans le tableur.
Les API, c'était autre chose sur la page de il ya un code qui permet de récupérer le source html. Il est gros et complexe et donc dur à nettoyer. ci-après.
je m'y connais peu mais je me dis que si je peux avoir le source, je peux peut-être extraire les tables en vba. Non.
Michdenis, je te remercie encore sincèrement.
Le voici : Private Declare Function OuvreInternet Lib "wininet" _ Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, _ ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long Private Declare Function fermeInternet Lib "wininet" _ Alias "InternetCloseHandle" (ByVal hInet As Long) As Integer Private Declare Function code_page Lib "wininet" _ Alias "InternetReadFile" (ByVal hFile As Long, ByVal sBuffer As String, _ ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer Private Declare Function Ouvrepage Lib "wininet" _ Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, _ ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, _ ByVal dwContext As Long) As Long
Sub lit_code_page_Web() Dim texte_code As String * 1024
page_Web_à_lire = InputBox("URL de la page à lire ?", _ "code de la page Internet", "http://www.boursorama.com/cours.phtml?symbole=1rPCEI") internet = OuvreInternet("toto", 0, vbNullString, vbNullString, 0) 'ouvre Internet URL = Ouvrepage(internet, page_Web_à_lire, vbNullString, _ 0, &H400000 Or &H4000000 Or &H80000000, 0) 'ouvre la page Web 'lecture du code de la page par paquet de 1024 caractères txt = "" nb_caractères_lus = 1 Do While nb_caractères_lus > 0 'lit 1024 caractères et les copie dans texte_code code_page URL, texte_code, 1024, nb_caractères_lus txt = txt & Left(texte_code, nb_caractères_lus) Loop fermeInternet URL 'ferme la page fermeInternet internet 'ferme Internet
MsgBox txt
'recopie dans un fichier texte Open "c:rien.txt" For Output As #1 Print #1, txt Close #1 'ouverture du fichier téléchargé ThisWorkbook.FollowHyperlink "c:rien.txt", , True
End Sub
| Te serait-il possible de faire fichier/ouvrir avec : | http://www.boursorama.com/cours.phtml?symbole=1rPFP | pour voir si tu as aussi une erreur ?
Je ne comprends pas ta demande ...mais si tu veux ouvrir une adresse internet : tu peux utiliser un API que tu mets dans le haut d'un module standard :
'Attention si le service de messagerie coupe ces lignes de code à des endroits inopportun.
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
'-------------------------------- Sub Ouvrir_URL() Dim URL As String URL = "http://www.boursorama.com/cours.phtml?symbole=1rPFP" ShellExecute 0, vbNullString, URL, vbNullString, vbNullString, vbNormalFocus End Sub '--------------------------------
| Te serait-il possible de faire fichier/ouvrir avec : | http://www.boursorama.com/cours.phtml?symbole=1rPFP | pour voir si tu as aussi une erreur ?
Je ne comprends pas ta demande ...mais si tu veux ouvrir une adresse internet : tu peux utiliser un API que tu mets dans le haut d'un module standard :
'Attention si le service de messagerie coupe ces lignes de code à des endroits inopportun.
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
'-------------------------------- Sub Ouvrir_URL() Dim URL As String URL = "http://www.boursorama.com/cours.phtml?symbole=1rPFP" ShellExecute 0, vbNullString, URL, vbNullString, vbNullString, vbNormalFocus End Sub '--------------------------------
| Et pour voir le résultat de ce que cela donne, tu peux consulter le
| fichier à cette adresse : http://cjoint.com/?jxvRwrqxWk
Vous aurez compris qu'en ouvrant ce fichier (classeur) qu'il a été enregistré
au format HTML.
Effectivement, on peut "importer" la page web mais ce n'est pas
ce à quoi je pensais ... ;-))
Ou je peux taper directement cette adresse dans la
boîte de saisie "ouvrir" lorsqu'appelé dans Excel
Je suis sous Windows xp2 et office 2003
La seule chose que j'ai fait de différent, c'est d'ouvrir
cette adresse en premier lieu... question de tester
si une autre adresse pouvait fonctionner !
Et pour voir le résultat de ce que cela donne, tu peux consulter le
fichier à cette adresse : http://cjoint.com/?jxvRwrqxWk
"ocean" <matinblanc@yahoo.fr> a écrit dans le message de news:
1159037078.203050.317910@b28g2000cwb.googlegroups.com...
Cela a marché pendant 3 mois, mais depuis ma nouvelle config, ce n'est
plus le cas.
Merci sincèrement de ton aide.
Je continue ma quête :)
Je ne crois pas que ce site soit conçu pour extraire les données
directement dans Excel via une requête !
Exemple : si tu utilises .WebTables = "25"
Tu obtiendras la liste des "currency" disponibles
Je vois difficilement comment arriver à réorganiser un tableau
des données exploitables à partir de résultat aussi parcellaire.
Bonne chance.
"ocean" <matinblanc@yahoo.fr> a écrit dans le message de news:
1159034393.081889.225220@m7g2000cwm.googlegroups.com...
Re-Bonsoir michdenis;
Merci encore
Effectivement je m'explique mal :
Je te demandais DANS EXCEL, si tu pouvais, chez toi faire
fichier/ouvrir avec
http://www.boursorama.com/cours.phtml?symbole=1rPFP
pour voir si la page s'affiche dans le tableur.
Les API, c'était autre chose sur la page de J@C il ya un code qui
permet de récupérer le source html. Il est gros et complexe et donc
dur à nettoyer. ci-après.
je m'y connais peu mais je me dis que si je peux avoir le source, je
peux peut-être extraire les tables en vba. Non.
Michdenis, je te remercie encore sincèrement.
Le voici :
Private Declare Function OuvreInternet Lib "wininet" _
Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType
As Long, _
ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal
lFlags As Long) As Long
Private Declare Function fermeInternet Lib "wininet" _
Alias "InternetCloseHandle" (ByVal hInet As Long) As Integer
Private Declare Function code_page Lib "wininet" _
Alias "InternetReadFile" (ByVal hFile As Long, ByVal sBuffer As
String, _
ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As
Integer
Private Declare Function Ouvrepage Lib "wininet" _
Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal
lpszUrl As String, _
ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal
dwFlags As Long, _
ByVal dwContext As Long) As Long
Sub lit_code_page_Web()
Dim texte_code As String * 1024
page_Web_à_lire = InputBox("URL de la page à lire ?", _
"code de la page Internet",
"http://www.boursorama.com/cours.phtml?symbole=1rPCEI")
internet = OuvreInternet("toto", 0, vbNullString, vbNullString, 0)
'ouvre Internet
URL = Ouvrepage(internet, page_Web_à_lire, vbNullString, _
0, &H400000 Or &H4000000 Or &H80000000, 0) 'ouvre la page Web
'lecture du code de la page par paquet de 1024 caractères
txt = ""
nb_caractères_lus = 1
Do While nb_caractères_lus > 0
'lit 1024 caractères et les copie dans texte_code
code_page URL, texte_code, 1024, nb_caractères_lus
txt = txt & Left(texte_code, nb_caractères_lus)
Loop
fermeInternet URL 'ferme la page
fermeInternet internet 'ferme Internet
MsgBox txt
'recopie dans un fichier texte
Open "c:rien.txt" For Output As #1
Print #1, txt
Close #1
'ouverture du fichier téléchargé
ThisWorkbook.FollowHyperlink "c:rien.txt", , True
End Sub
| Te serait-il possible de faire fichier/ouvrir avec :
| http://www.boursorama.com/cours.phtml?symbole=1rPFP
| pour voir si tu as aussi une erreur ?
Je ne comprends pas ta demande ...mais si tu veux ouvrir une adresse internet :
tu peux utiliser un API que tu mets dans le haut d'un module standard :
'Attention si le service de messagerie coupe ces lignes de code à des endroits inopportun.
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
'--------------------------------
Sub Ouvrir_URL()
Dim URL As String
URL = "http://www.boursorama.com/cours.phtml?symbole=1rPFP"
ShellExecute 0, vbNullString, URL, vbNullString, vbNullString, vbNormalFocus
End Sub
'--------------------------------
| Te serait-il possible de faire fichier/ouvrir avec :
| http://www.boursorama.com/cours.phtml?symbole=1rPFP
| pour voir si tu as aussi une erreur ?
Je ne comprends pas ta demande ...mais si tu veux ouvrir une adresse internet :
tu peux utiliser un API que tu mets dans le haut d'un module standard :
'Attention si le service de messagerie coupe ces lignes de code à des endroits inopportun.
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
'--------------------------------
Sub Ouvrir_URL()
Dim URL As String
URL = "http://www.boursorama.com/cours.phtml?symbole=1rPFP"
ShellExecute 0, vbNullString, URL, vbNullString, vbNullString, vbNormalFocus
End Sub
'--------------------------------
Ou je peux taper directement cette adresse dans la boîte de saisie "ouvrir" lorsqu'appelé dans Excel
Je suis sous Windows xp2 et office 2003
La seule chose que j'ai fait de différent, c'est d'ouvrir cette adresse en premier lieu... question de tester si une autre adresse pouvait fonctionner !
Et pour voir le résultat de ce que cela donne, tu peux consulter le fichier à cette adresse : http://cjoint.com/?jxvRwrqxWk
"ocean" a écrit dans le message de news:
Cela a marché pendant 3 mois, mais depuis ma nouvelle config, ce n'est plus le cas. Merci sincèrement de ton aide. Je continue ma quête :)
Je ne crois pas que ce site soit conçu pour extraire les données directement dans Excel via une requête !
Exemple : si tu utilises .WebTables = "25" Tu obtiendras la liste des "currency" disponibles
Je vois difficilement comment arriver à réorganiser un tableau des données exploitables à partir de résultat aussi parcellaire.
Bonne chance.
"ocean" a écrit dans le message de news:
Re-Bonsoir michdenis; Merci encore
Effectivement je m'explique mal : Je te demandais DANS EXCEL, si tu pouvais, chez toi faire fichier/ouvrir avec http://www.boursorama.com/cours.phtml?symbole=1rPFP pour voir si la page s'affiche dans le tableur.
Les API, c'était autre chose sur la page de il ya un code qui permet de récupérer le source html. Il est gros et complexe et donc dur à nettoyer. ci-après.
je m'y connais peu mais je me dis que si je peux avoir le source, je peux peut-être extraire les tables en vba. Non.
Michdenis, je te remercie encore sincèrement.
Le voici : Private Declare Function OuvreInternet Lib "wininet" _ Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, _ ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long Private Declare Function fermeInternet Lib "wininet" _ Alias "InternetCloseHandle" (ByVal hInet As Long) As Integer Private Declare Function code_page Lib "wininet" _ Alias "InternetReadFile" (ByVal hFile As Long, ByVal sBuffer As String, _ ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer Private Declare Function Ouvrepage Lib "wininet" _ Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, _ ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, _ ByVal dwContext As Long) As Long
Sub lit_code_page_Web() Dim texte_code As String * 1024
page_Web_à_lire = InputBox("URL de la page à lire ?", _ "code de la page Internet", "http://www.boursorama.com/cours.phtml?symbole=1rPCEI") internet = OuvreInternet("toto", 0, vbNullString, vbNullString, 0) 'ouvre Internet URL = Ouvrepage(internet, page_Web_à_lire, vbNullString, _ 0, &H400000 Or &H4000000 Or &H80000000, 0) 'ouvre la page Web 'lecture du code de la page par paquet de 1024 caractères txt = "" nb_caractères_lus = 1 Do While nb_caractères_lus > 0 'lit 1024 caractères et les copie dans texte_code code_page URL, texte_code, 1024, nb_caractères_lus txt = txt & Left(texte_code, nb_caractères_lus) Loop fermeInternet URL 'ferme la page fermeInternet internet 'ferme Internet
MsgBox txt
'recopie dans un fichier texte Open "c:rien.txt" For Output As #1 Print #1, txt Close #1 'ouverture du fichier téléchargé ThisWorkbook.FollowHyperlink "c:rien.txt", , True
End Sub
| Te serait-il possible de faire fichier/ouvrir avec : | http://www.boursorama.com/cours.phtml?symbole=1rPFP | pour voir si tu as aussi une erreur ?
Je ne comprends pas ta demande ...mais si tu veux ouvrir une adresse internet : tu peux utiliser un API que tu mets dans le haut d'un module standard :
'Attention si le service de messagerie coupe ces lignes de code à des endroits inopportun.
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
'-------------------------------- Sub Ouvrir_URL() Dim URL As String URL = "http://www.boursorama.com/cours.phtml?symbole=1rPFP" ShellExecute 0, vbNullString, URL, vbNullString, vbNullString, vbNormalFocus End Sub '--------------------------------
| Te serait-il possible de faire fichier/ouvrir avec : | http://www.boursorama.com/cours.phtml?symbole=1rPFP | pour voir si tu as aussi une erreur ?
Je ne comprends pas ta demande ...mais si tu veux ouvrir une adresse internet : tu peux utiliser un API que tu mets dans le haut d'un module standard :
'Attention si le service de messagerie coupe ces lignes de code à des endroits inopportun.
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
'-------------------------------- Sub Ouvrir_URL() Dim URL As String URL = "http://www.boursorama.com/cours.phtml?symbole=1rPFP" ShellExecute 0, vbNullString, URL, vbNullString, vbNullString, vbNormalFocus End Sub '--------------------------------
JB
Bonjour,
Sur Excel2003: http://cjoint.com/?jyiQTnuVN8
JB
Bonjour tout le monde,
Jusqu'à la semaine dernière, je faisais des requêtes web avec excel 2000 en vba sur boursorama. Cette semaine, j'ai refait mon pc et installé xp sp2 et office 2003.
Et impossible d'exécuter les requêtes. Impossible d'ouvrir en directe par fichier/ouvrir et url.
-Ai-je mal paramétré Xp ou excel ? -quelqu'un pourrait faire un essai svp ? -des conseils ?
Merci d'avance.
P.S. j'ai beaucoup appris sur le site de , spécial thanks for him
Bonjour,
Sur Excel2003: http://cjoint.com/?jyiQTnuVN8
JB
Bonjour tout le monde,
Jusqu'à la semaine dernière, je faisais des requêtes web avec excel
2000 en vba sur boursorama.
Cette semaine, j'ai refait mon pc et installé xp sp2 et office 2003.
Et impossible d'exécuter les requêtes.
Impossible d'ouvrir en directe par fichier/ouvrir et url.
-Ai-je mal paramétré Xp ou excel ?
-quelqu'un pourrait faire un essai svp ?
-des conseils ?
Merci d'avance.
P.S. j'ai beaucoup appris sur le site de J@C, spécial thanks for him
Jusqu'à la semaine dernière, je faisais des requêtes web avec excel 2000 en vba sur boursorama. Cette semaine, j'ai refait mon pc et installé xp sp2 et office 2003.
Et impossible d'exécuter les requêtes. Impossible d'ouvrir en directe par fichier/ouvrir et url.
-Ai-je mal paramétré Xp ou excel ? -quelqu'un pourrait faire un essai svp ? -des conseils ?
Merci d'avance.
P.S. j'ai beaucoup appris sur le site de , spécial thanks for him
ocean
Bonjour JB et Michdenis,
Sur Excel2003: http://cjoint.com/?jyiQTnuVN8
Merci JB, j'utilise bien le même genre de macro. La tienne fonctionne. Si je l'adapte sur boursorama et que j'enlève le "on error", une erreur 1004 se produit.
Et ce depuis que j'ai refait mon pc, j'ai cru à un mauvais parametrage mais il semble que le site boursorama ait mis une "protection".
La solution est de passer l'API de pour récupérer le source, de créer un fichier c:rien.html (au lieu de rien.txt) et là il est possible de faire une "requête web en local". Ce n'est pas très élégant et surtout lourd.
Le code pour "parser" boursorama est écrit pour récupérer plus que les cours mais je vais tester un autre site qui propose aussi des données comptables et pas que les cours.
Merci encore à vous 2 Si vous avez une autre idée, merci d'avance.
Bonjour JB et Michdenis,
Sur Excel2003: http://cjoint.com/?jyiQTnuVN8
Merci JB, j'utilise bien le même genre de macro.
La tienne fonctionne. Si je l'adapte sur boursorama et que j'enlève le
"on error", une erreur 1004 se produit.
Et ce depuis que j'ai refait mon pc, j'ai cru à un mauvais parametrage
mais il semble que le site boursorama ait mis une "protection".
La solution est de passer l'API de J@C pour récupérer le source, de
créer un fichier c:rien.html (au lieu de rien.txt) et là il est
possible de faire une "requête web en local". Ce n'est pas très
élégant et surtout lourd.
Le code pour "parser" boursorama est écrit pour récupérer plus que
les cours mais je vais tester un autre site qui propose aussi des
données comptables et pas que les cours.
Merci encore à vous 2
Si vous avez une autre idée, merci d'avance.
Merci JB, j'utilise bien le même genre de macro. La tienne fonctionne. Si je l'adapte sur boursorama et que j'enlève le "on error", une erreur 1004 se produit.
Et ce depuis que j'ai refait mon pc, j'ai cru à un mauvais parametrage mais il semble que le site boursorama ait mis une "protection".
La solution est de passer l'API de pour récupérer le source, de créer un fichier c:rien.html (au lieu de rien.txt) et là il est possible de faire une "requête web en local". Ce n'est pas très élégant et surtout lourd.
Le code pour "parser" boursorama est écrit pour récupérer plus que les cours mais je vais tester un autre site qui propose aussi des données comptables et pas que les cours.
Merci encore à vous 2 Si vous avez une autre idée, merci d'avance.