Bonjour,
Je cherche à intégrer dans une macro Excel une formule qui permette d’automatiser la copie de pages web.
Je suis en train de récupérer des données mises en ligne par le ministère des finances concernant les comptes de gestion des communes. Les adresses sont sur ce modèle : http://alize2.finances.gouv.fr/commu...&exercice=2005
Dans cet exemple, c’est la commune n°109 du département 30 (Euzet dans le Gard, pour ceux qui connaissent…) et les chiffres de l’année 2005. Les adresses étant toutes sur le même modèle, c’est assez simple de les générer automatiquement.
J’ai donc créé des tableaux avec 8 colonnes : dans la première, un identifiant qui me permet de reconnaître la commune puis 7 colonnes avec les adresses des comptes de 2005 à 2011 :
| cod30109 | http:/….2005 | http:/….2006 | http:/….2007 (etc…)
Avec autant de lignes que de communes à saisir (pour le département du Gard il y en a 356)
Voici ma macro :
Donc la macro supprime la première ligne, copie mon identifiant puis ouvre successivement les 7 pages. Après ça, il ne me reste plus qu’à faire CTRL A, CTRL C, CTRL W, 7 fois très vite (je suis en train de devenir le karaté kid du clavier) puis à coller tout dans une feuille. Une autre macro permet de récupérer les données en créant une ligne dans un tableau et il ne reste plus qu’à recommencer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Rows("1:1").Select Selection.Delete Shift:=xlUp Range("A1").Select Selection.Copy Range("B1").Select Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True Range("C1").Select Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True Range("D1").Select (Etc jusquà la case H1)
Ce que je n’ai pas réussit à faire, c’est à intercaler une formule qui, après avoir ouvert une page web, la copie puis la referme. Ce qui me permettrait d’arrêter de faire le couillon avec mon clavier.
Pardon pour les approximations…
Merci pour votre aide
Partager