Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/07/2007, 10h15   #1
Invité de passage
 
Inscription : juillet 2005
Messages : 20
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 20
Points : 2
Points : 2
Par défaut Importer base données (web) sous Excel ou Access

Importer base données (web) sous Excel ou Access par : altarez le 15/07/2007 14:25:46
Répondre Rép. Ecrire un message privé MP Voir les autres messages de ce membre 14 msg
Bonjour à tous,

Je cherche à importer un tableau (qui doit être lié à une base de données) sous Excel ou Acces.

Voici l'adresse internet qui pointe sur ce tableau :
https://geco1.amf-france.org/public/...ng=fr&Id_Tab=0
(Après avoir cliquez sur le lien, cliquez sur : "OPCVM de droit non français" puis : "rechercher" sans spécifier de critères particuliers.
Un tableau s'affichera avec le résultat, c'est ce tableau que je souhaite traiter.)

Il s'agit du site de l'AMF (Autorité des Marchés Financiers) Bien que présenté sous HTTPS, les données sont libres de droit et accessible à tous particuliers/professionels.
Je fais une étude sur les fonds d'investissement de droit français (voila pour la petite histoire)

Il me serai bien pratique d'avoir ce tableau sous forme exploitable (excel par exemple) afin de faire des VLOOKUP pour savoir rapidemment si de nouveaux fonds sont agréés a la vente en France et donc ajouté dans ce tableau.
Pour le moment, je le fais manuellement mais c'est vraiment très longs (sans compter les risques d'oublis, saut de lignes etc..)

J'ai essayé plusieurs trucs sans succès.
Si quelqu'un à une solution à m'apporter ça serai vraiment génial

Merci à tous et bon weekend.
altarez est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 10h08   #2
Expert Confirmé Sénior

 
Avatar de cafeine
 
Inscription : juin 2002
Messages : 3 882
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 3 882
Points : 4 500
Points : 4 500
Hello,

le site de l'AMF semble down aujourd'hui ... sinon, tu es bien sûr et certain que tu peux piller leur base de données avec un robot ?
__________________
Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème

Développez une application de gestion des comptes bancaires dans Access de A à Z
Déjà 12 tutoriels, le dernier en date : Comment faire un TextBox auto-extensible dans un formulaire ?


cafeine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 18h04   #3
Invité de passage
 
Inscription : juillet 2005
Messages : 20
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 20
Points : 2
Points : 2
Hello,

Oui oui biensur il n'y a aucun problème. Ces données sont misent à disposition du public. Je travail dans le milieu des fonds d'investissement et je fais usage quotidiennement des informations de leur site.
C'est la seule partie de leur site qui n'est vraiment pas pratique..
Le reste ne me pose aucun probleme (Information sur les sociétés, notices d'informations, valorisation etc.., enfin tous ce qui se trouve dans OPCVM français)

Merci de ton aide.
altarez est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 10h04   #4
Expert Confirmé Sénior

 
Avatar de cafeine
 
Inscription : juin 2002
Messages : 3 882
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 3 882
Points : 4 500
Points : 4 500
Ok, le site marche ...

pour y arriver, il suffit de récupérer le source code de la page ...
Si tu veux le faire depuis VBA, voici un exemple :
http://cafeine.developpez.com/access...iel/weblog/#LB

Dans l'exercice, j'ai volontairement restreint à l'Autriche.
Dans Firefox, je clique sur le cadre qui contient la liste
> clic droit > Ce Cadre > Code source du cadre

En regardant le source, je retrouve toutes les données dans contrôle de type <Select> chaque ligne étant un item <option></option>
Je sélectionne ce texte (qui tient sur une ligne très longue) et je le mets dans un fichier texte ...

on va ensuite travailler sur ce fichier texte
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
30
31
32
33
34
35
36
37
Public Sub ImportAMF(ByVal strFullPath As String)
 
Dim strOutPath As String
Dim f1 As Integer, f2 As Integer
Dim tmp() As String, sTemp As String
Dim rec() As String
Dim i As Integer, j As Integer
 
strOutPath = Left(strFullPath, Len(strFullPath) - 4) & " ok.txt"
 
Reset
 
f1 = FreeFile
Open strFullPath For Input As #f1
 
f2 = FreeFile
Open strOutPath For Output As #f2
 
Line Input #f1, sTemp
sTemp = Replace(sTemp, "&nbsp;", " ")
sTemp = Replace(sTemp, Chr(160), " ")
tmp = Split(sTemp, "</option><option>")
For i = 0 To UBound(tmp)
    tmp(i) = Replace(tmp(i), "<option>", vbNullString)
    tmp(i) = Replace(tmp(i), "</option>", vbNullString)
    rec = Split(tmp(i), "|")
    For j = 0 To UBound(rec)
        rec(j) = Trim(rec(j))
    Next j
    tmp(i) = Join(rec, ";")
    Print #f2, tmp(i)
Next i
 
 
Reset
 
End Sub
la Sub te génère un beau fichier .csv facile à importer dans Office.
__________________
Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème

Développez une application de gestion des comptes bancaires dans Access de A à Z
Déjà 12 tutoriels, le dernier en date : Comment faire un TextBox auto-extensible dans un formulaire ?


cafeine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2007, 12h29   #5
Invité de passage
 
Inscription : juillet 2005
Messages : 20
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 20
Points : 2
Points : 2
Magnifique. Merci beaucoup (bon j'ai pratiquement pas compris le code.. Trop haut niveau pour moi )

Par contre (j'ai peut être fais une erreur) mais la macro ne se lance pas.
Je l'ai copié dans un module VBA d'un fichier Excel.

J'appuis sur F8 et rien a faire. C'est la liste d'arguments apres le SUB ***(...) qui l'empêche. Je comprends pas.

J'ai coller la tres longue ligne (commencent par <option> et finissant par </option>) dans un fichier text appelé "test.txt"

Encore merci pour le temps que tu consacre
altarez est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/08/2007, 11h18   #6
Expert Confirmé Sénior

 
Avatar de cafeine
 
Inscription : juin 2002
Messages : 3 882
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 3 882
Points : 4 500
Points : 4 500
Hello,

il faut juste spécifier le chemin du fichier

Code :
ImportAMF "c:\ton dossier\test.txt"
Citation:
Envoyé par altarez Voir le message
Magnifique. Merci beaucoup (bon j'ai pratiquement pas compris le code.. Trop haut niveau pour moi )

Par contre (j'ai peut être fais une erreur) mais la macro ne se lance pas.
Je l'ai copié dans un module VBA d'un fichier Excel.

J'appuis sur F8 et rien a faire. C'est la liste d'arguments apres le SUB ***(...) qui l'empêche. Je comprends pas.

J'ai coller la tres longue ligne (commencent par <option> et finissant par </option>) dans un fichier text appelé "test.txt"

Encore merci pour le temps que tu consacre
__________________
Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème

Développez une application de gestion des comptes bancaires dans Access de A à Z
Déjà 12 tutoriels, le dernier en date : Comment faire un TextBox auto-extensible dans un formulaire ?


cafeine est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h57.


 
 
 
 
Partenaires

Hébergement Web