Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 03/05/2011, 19h59   #1
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
Par défaut QueryTables sous Access en vba

Bonjour,

Je cherche à récupérer les données sur un site. J'y parviens par le biais d'Excel avec la méthode QueryTables mais j'aimerais pouvoir y parvenir également sous Access....Quelqu'un à t'il une piste autre que celle de créer un fichier sous access ?


Merci
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2011, 22h16   #2
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bonsoir.

Si tu veux juste une piste, en voici une giboyeuse : la bibli MSXML2.
Elle correspond à une dll du system32, comme msxml6.dll

Si tu veux du code, précise ta chaîne de connexion.

Cordialement,

PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 17h44   #3
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
Bonjour

Merci pour votre réponse, j'ai regardé du coté de msxml2 mais je ne trouve pas d'exemple de récupération de données sur un site quel qu'il soit...Je cherche plutot un équivalent de QueryTable sous Access
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 18h46   #4
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bonjour.

DOnc ce n'est pas une piste, mais un code que tu cherches

Es-tu arrivé à sélectionner la biblio dont je t'ai parlé dans mon premier message?

A+

PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 19h10   #5
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
mais nonnnn faut pas le prendre comme ça !!! Oui j'ai sélectionné la référence msxml6.dll mais cette bibli n'est elle pas réservée au format xml ? (lequel je ne maitrise pas forcément d'ailleurs....)
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 19h16   #6
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bien!

Tu as réussi à sélectionner la bibli

Tu vas l'utiliser pour charger le csv, sous forme de texte, directement dans une chaîne de caractères, sans passer par un enregistrement sur disque. C'est très simple :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub Mut()
Dim oXMLHTTP As MSXML2.XMLHTTP
Dim sHTTP As String
Dim sLecture As String 'reçoit le texte du csv
 
sHTTP = "http://... " 'chaîne de requête du csv
 
Set oXMLHTTP = New MSXML2.XMLHTTP
 
oXMLHTTP.Open "GET", sHTTP, False
oXMLHTTP.send
sLecture = oXMLHTTP.responseText 'c'est dans la boîte!
 
Set oXMLHTTP = Nothing
 
End Sub
On pourrait le mettre en FAQ, non?

PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 22h51   #7
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
Impeccable ça me ressort le script de la page ! Par contre comment récupérer par la suite uniquement les données voulues ?

Oui effectivement il serait bon de l'incorporer dans la FAQ
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 17h05   #8
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bonjour.

La suite, c'est du traitement de texte classique. Pour être plus précis, il faudrait savoir ce que tu lis... et ce que tu veux en garder, et en faire!


PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 19h40   #9
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
Ok je vois...il n'y a donc pas une sorte de requete possible comme sous Excel qui inscrit tout le texte "préformaté" de la page web dans le tableur...

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
 
    With ActiveSheet.QueryTables.Add(Connection:="URL;" & vURL, Destination:=R)
        .Name = "LaRequete"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebTables = "4"
        .WebFormatting = xlWebFormattingRTF
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
        .Delete
    End With
Je vais voir si je peux récupérer de façon similaire les données dans une page web avec msxml6...
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 20h44   #10
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bonsoir


Citation:
Envoyé par Mut Voir le message
Je vais voir si je peux récupérer de façon similaire les données dans une page web avec msxml6...
Sinon, tu pourras faire une procédure pour enregistrer en table les données récupérées dans la chaîne de caractères. Et ce n'est pas bien difficile...

PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 21h37   #11
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
Je pense faire des boucles pour récupérer les parties de texte qui m'intéresse en me basant sur les ids des balises HTML. Penses-tu que ce soit une solution fiable ?
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2011, 22h22   #12
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonsoir,

TransferText permet d'importer des tableaux html (balises <table> ... </table>) à condition que le fichier ou l'url finisse par htm ou html.

Au pire, tu utilises la procédure pgz pour sauvegarder localement, en fichier .htm ou .html, la page récupérée à partir de ton url.

Pour l'argument NomTableHTML de TransferText, bien lire l'aide d'Access.

A+
LedZeppII 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 10h43.


 
 
 
 
Partenaires

Hébergement Web