recupération d'info sur internet

Macpoy

XLDnaute Impliqué
bonjour le forum,
excusez moi de ne pas avoir fait de recherches, mais je suis sur mon lieu de travail !!! (manque de moyens, et de temps !! Désolé !!)
voici ma requète, est il possible de faire une macro qui irait copier des infos sur 11 pages d'un même site web afin d'en tirer un classeur excel exploitable ?
merci d'avance pour l'attention que vous porterez à cette demande.


Macpoy
fait que chaque heures de ta vie soit un souvenir pour demain .
 

albert

XLDnaute Occasionnel
pour rationnaliser les recherches, un exemple qui fonctionne :
Lien supprimé
dans la discussion
Lien supprimé

Code:
Sub opcvm() 
Sheets('cours').Select 
'--------------efface ------------------- 
Range('A:U').Select 
Selection.ClearContents 

'------------construction de la boucle---------------------- 
compte = Cells(1, 23) 
For m = 2 To compte + 1 

With ActiveSheet.QueryTables.Add(Connection:= _ 
'URL; Name&sortorder=ASC&firstletter=' & Cells(m, 23) & '&mec=FR00000046' _ 
, Destination:=[B65536].End(xlUp).Offset(1, -1)) '--colonne A vide :décalage à gauche pour superposer les téléchargements-- 
.WebFormatting = xlWebFormattingNone 
.WebTables = '5' 
.Refresh BackgroundQuery:=False 
End With 
Next 
Range('A1').Select 

End Sub
 
M

MacPoy

Guest
Bonjour le forum,
bonjour Albert,
merci de te repencher sur ma petite demande.
je récupère tes infos, j'essaye de comprendre, et je te recontact ce soir à la maison.
merci encore.
Et bonne journée


la meilleur façon d'aimer une chose, est de se dire qu'on pourrait la perdre.
 

Macpoy

XLDnaute Impliqué
Bonsoir le forum,
bonsoir Albert,
Entre MorningStar, et les fils que tu m'a communiqué, j'ai vraiment du mal, mais après quelques heures d'éssais, j'espère arriver au bout de mon idée.
je te remercie beaucoup, et te donnerais des nouvelles régulièrement.
mais si je ne finalise que dans quelques jours, par quel moyens pourrais je le dire ? ce fil serat trop profondement enfoncé dans le forum ?
 

albert

XLDnaute Occasionnel
bonjour Macpoy,

tiens-nous au courant de l'avancement de ton programme, tu peux continuer à communiquer sur ce fil, j'utilise régulièrement le moteur de recherches sur 'albert''' Albert' avec majuscule, ce n'et pas moi.)

sur un autre fil plus récent, tu peux faire référence à l'adresse de ce fil, de manière à ce qu'il y ait une continuité.

même si je ve peux pas ouvrir ton site défense nationale, tu peux toujours expliquer la syntaxe de l'adresse url, ce qui permettra de trouver une solution
;)

albert
 

Macpoy

XLDnaute Impliqué
bonsoir le forum,
bonsoir albert (sans majuscule!!! pourtant je voulais être poli en mettant un grand A à ton prénom.)
je me confond en excuse, je n'est pas bossé mon projet aujourd'hui.
merci tout de même de donner suite .
bon WE à très bientôt je pense.
 
M

Michel

Guest
Bonjour le forum,

Pour récupérer des données d'internet, j'utilise Super Macro (c'est un enregistreur amélioré qui permet de reproduire (disponible dans la version 3.1 de Windows), il est disponible gratuitement sur le Web en tapant super macro dans Google.
Il permet de faire un tas de choses qu'on peut difficilement faire par macro Office lorsqu'on ne connait pas bien le code VB.

Atention, le mieux est de rentrer les touches à éxécuter une à une (éviter l'enregistreur sauf pour aller cliquer à un endroit particulier ou pour voir le code généré). Il faut aussi penser à mettre des tempos de 1 seconde au moins pour éviter que le programme ne loupe une action programée. De plus le plugin Boucle est très pratique.

Sincères salutations

Michel
 

albert

XLDnaute Occasionnel
bonsoir Macpoy, Michel, Visiteur, forumiens, forumiennes,

je propose un exemple avec l'adresse
http://www.defense.gouv.fr/sites/ecpad

on indique les variables dans la colonne A Feuil1, un compteur en A1. pour boucler, on ajoute 1 feuille par page téléchargée...
on boucle sur
symbole = Sheets('Feuil1').Cells(i, 1)
on indique la variable dans l’Url http://www.defense.gouv.fr/sites/' & symbbole & '' [file name=armee.zip size=20606]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/armee.zip[/file]
 

Pièces jointes

  • armee.zip
    20.1 KB · Affichages: 29

Macpoy

XLDnaute Impliqué
Bonsoir le forum,
Bonsoir albert, Michel,
j'ai éssayé le petit prog : 'Super Macro', il correspond tout à fait à mon besoin. Certe les puristes diront que cela n'a rien à voir avec notre 'Excel... lent' Tableur, mais c'est plus simple pour moi!!!
je ne renonce pas à essayer avec vba.

par contre, Michel, je bloque sur une broutille !!!
je résume:Grâçe à super macro, je vais sur ma page web, je selectionne et copie ce qui m'interesse, j'ouvre un classeur excel, je colle, et j'arrive à aller sur la page web suivante, je selectionne je copie, et c'est la que ça a commençé à 'merder' monsieur le juge !!!!
Comment y fait le gars pour retourner sur son classeur ??????
est ce qu'il y à une sorte d'enregistreur de macro dans ce petit logiciel, qui éviterait tous les tatonnements????

désolé si je sort des questions d'Excel habituelle.
 
M

Michel

Guest
Bonjour le forum et Macpoy.

Le mieux est d'avoir sur un classeur Excel, les liens ds sites à ouvrir dans des cellules les unes au dessus des autres (avec lien hypertexte) que l'on peut ouvrir en tapant la touche Entrée.

Puis une fois le site internet ouvert, il faut cliquer sur un endroit et taper ctrl + a pour sélectionner le texte du site puis copier (ex: avec Ctrl + Ins) puis fermer internet (touches Alt + F4). Puis alt+Tab pour revenir sur Excel, Ctrl+ Page down pour aller sur la feuille qui recevra les information dans Excel puis on colle les valeurs (on peut faire une macro sur excel avec ctrl+ v pour coller le texte). N'oublie pas de mettre des tempos de 1 à n secondes suivant les besoins.
Avec la boucle, on le fait le nombre de fois qu'il y a de liens à ouvrir et n'oublie pas de faire Ctrl + end une fois le texte copié et ctrl + gauche pour coller le texte suivant puis ctrl +page up et bas pour ouvrir le prochain site en liens.

Notons que l'on récupère des données textes (on peut le faire aussi en image avec la touche Impr écran), mais dans ce cas, on ne peux pas récupérer les données textes qui d'ailleurs demanderont une macro sous Excel pour les retraiter.
Notons que avec Super Macro, il vaut mieux toujours travailler avec le moins de fenêtres d'ouvertes, 2 au maximum, sinon la macro ne sais plus où elle en est. Par Exemple avoir Excel
toujours ouvert, et les fenêtres que l'on ouvre au fur et à mesure, il faut les fermer avec Alt + F4.

L'enregistreur est disponible dans Super Macro (/Outils /enregistrer une séquence), mais souvent, il gére de nombreuse lignes et demande du débogage.
SI ton programme dans super macro est long, tu peux placer des labels pour voir ou tu en est et faire des goto pour aller à certains labels une fois qu'une partie de la macro fonctionne.

Testes le et tiens moi au courant.

Sincères salutations
Michel
 

Statistiques des forums

Discussions
312 490
Messages
2 088 879
Membres
103 981
dernier inscrit
vinsalcatraz