Récupérer des données depuis Excel

Récupérer des données depuis Excel - VB/VBA/VBS - Programmation

Marsh Posté le 08-08-2007 à 00:58:57    

Bonjour à toutes et à tous,
 
Je cherche un moyen pour récupérer des données d'une page web à partir d'Excel à l'ouverture du classeur.  
Est-ce possible?  
 
Il faut savoir que les données seront soit sous forme de tableau, ou encore de simples fichiers Excel.
 
Merci pour votre aide

Reply

Marsh Posté le 08-08-2007 à 00:58:57   

Reply

Marsh Posté le 08-08-2007 à 02:43:06    

Menu Données | Données Externes | Nouvelle Requête sur le Web
Entrer l'URL puis cocher les "Fleches" qui t'intéresse
Suivre l'assistant qui te proposera le choix de la cellule de Départ
 
utilise le Macro Recorder puis allège ( par étape ) manuellement le code généré


Message édité par kiki29 le 08-08-2007 à 02:43:51
Reply

Marsh Posté le 08-08-2007 à 20:07:49    

Merci beaucoup pour la piste mais je crois que je n'ai pas été assez précis dans ma requete. En réalité, il s'agit d'importer un fichier hébergé sur le Web avec une adresse du type : http://www.blablabla.com/mon_fichier_Excel.xls
 
De même, les autres données se trouvent sur un page web, mais je ne connais pas le chemin exact. En fait il s'agit d'une page du type: http://ma_page_web/blablabla.rha et il s'agit de cliquer sur le bouton search pour afficher les valeurs qui m'interessent.  
Est-il possible d'automatiser egalement cette tache?
 
 
Merci encore pour votre aide plus que salutaire.
 
++  :)

Reply

Marsh Posté le 09-08-2007 à 02:24:53    

Fais ta recherche cela générera des infos dans la barre d'adresse http://....
Puis via le macro recorder d'excel et une requete Web tu auras les données de ta recherche
Cela te permettra d'avoir la syntaxe et de modifier éventuellemnt le search via ce code


Message édité par kiki29 le 09-08-2007 à 02:25:30
Reply

Marsh Posté le 09-08-2007 à 20:30:21    

Bonjour,
 
Tout d'abord, merci pour ton aide Kiki.
 
Ensuite, je suis désolé mais je ne vois pas où tu veux en venir lorsque tu parles de recherche. Il faut savoir que je n'ai jamais utilisé la fonction macrorecorder.
 
Merci encore.

Reply

Marsh Posté le 09-08-2007 à 20:54:01    


http://forum.hardware.fr/hfr/Programmation/VB-VBA-VBS/liste_sujet-1.htm
Rechercher Recuperation
Cliquer sur Enregistrer une page Web en TXT
http://forum.hardware.fr/hfr/Programmation/VB-VBA-VBS/enregistrer-page-txt-sujet_103058_1.htm
 
Si Macro Recorder Excel activé
 
Sub Macro1()
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://forum.hardware.fr/hfr/Programmation/VB-VBA-VBS/enregistrer-page-txt-sujet_103058_1.htm" _
        , Destination:=Range("A1" ))
        .Name = "enregistrer-page-txt-sujet_103058_1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
 .....

Reply

Marsh Posté le 12-08-2007 à 16:18:43    

Je reviens aux nouvelles.
 
J'ai beau retourner le problème dans tous les sens, je ne trouve pas la solution, et pourtant  je crois avoir compris ce que tu m'expliques Kiki..
 
Chaque fois que je tente d'ouvrir le classeur depuis le navigateur d'Excel, le programme tourne en rond et une boîte de dialogue me propose:
-D'ouvrir le dossier
-d'ouvrir le fichier
 
Quand je clique rien ne se passe.
 
Je pense le probleme plus epineux qu'il n'y paraît à premiere vue.
 
Voici un exemple:
 
La page contenant le fichier dont je souhaiterai automatiser le telechargement dans une feuille via un bouton dans Excel:
 
http://excelfiles.site.voila.fr/
 
 
Voila rame parfois, mais j'ai perdu mon acces ftp free..
 
Merci
 
Edit:
 
Je crois avoir trouvé une piste ici..


Message édité par Anonymuser le 12-08-2007 à 16:56:40
Reply

Marsh Posté le 12-08-2007 à 17:00:52    

Sans forcer via le macro recorder +adaptation manuelle


........
    Application.DisplayAlerts = False
    With ActiveSheet.QueryTables.Add(Connection:=Array( _
        "OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=http://excelfiles.site.voila.fr/dossier/Classeura1.xls;Mode=Share Deny" _
        , _
        " Write;Extended Properties=""HDR=YES;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet" _
        , _
        " OLEDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1" _
        , _
        ";Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy" _
        , _
        " Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False" _
        ), Destination:=Range("A1" ))
        .CommandType = xlCmdTable
        .CommandText = Array("Feuil1$" )
        .Name = "Classeura1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = True
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .SourceDataFile = "http://excelfiles.site.voila.fr/dossier/Classeura1.xls"
        .Refresh BackgroundQuery:=False
    End With
    Application.DisplayAlerts = True
.....


Message édité par kiki29 le 12-08-2007 à 17:01:12
Reply

Marsh Posté le 12-08-2007 à 17:21:29    

Yes ça fonctionne merci, je ne comprends pas pourquoi le macro recorder ne fonctionne pas.  
En fait, je pense plutôt que je ne selectionnais pas le bon mode (Données Externes | Nouvelle Requête sur le Web ) tout simplement, et ce en voyant le debut du code qu'il t'a généré..

Reply

Marsh Posté le 12-08-2007 à 18:09:30    

J'ai parlé d'adaptation du code généré par le macro recorder et c'est pour cela que ça marche : je lui ai collé l'info manuellement après qu'il ait généré son Volapük

Reply

Marsh Posté le 12-08-2007 à 18:09:30   

Reply

Marsh Posté le 12-08-2007 à 18:47:27    

Ok, mais pour la générer, par quel menu passes-tu.  
 
Je pense que tu fais Données| Données Externes | Nouvelle Requête sur le Web, mais après je ne vois pas, j'ai essayé plusieurs combinaisons, sans succès.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed