Copier coller le contenu d'une page internet - VB/VBA/VBS - Programmation
Marsh Posté le 28-05-2011 à 23:43:56
Salut,un exemple de Login avec Identification et Mot de Passe sur Hardware.fr
reste à savoir si applicable à ton site
Option Explicit |
Marsh Posté le 29-05-2011 à 10:55:49
Hello,
merci de ta réponse, mais ce n'est pas cette partie la du code qui me pose problème, j'ai déjà fait cette partie du code et cela fonctionne bien, j'arrive a aller sur la page internet que je veux. Je ne l'ai juste pas mis dans mon code car ce n'était pas important pour la résolution de mon problème. Je pense que tu as lu un peu trop vite mon post^^.
Marsh Posté le 29-05-2011 à 11:27:48
Salut,
Citation : Je ne peux pas passer par les connections de Excel sur un site web car il y a une identification à faire sur ce site. |
Si tu cherches sur le net tu trouveras des exemples d'import de tableau html,restera à les adapter à ton contexte
Marsh Posté le 29-05-2011 à 11:42:41
je parlais de l'option "Requête sur le Web" d'Excel qui ne fonctionne pas a cause de l'identification. De toute facon je ne peux pas utiliser cette méthode car je dois naviguer entre plusieurs mois sur la page ou je dois importer les données et l'URL reste la même, mais j'arrive a exécuter du javascript avec ma classe InternetExplorer donc j'ai pas de soucis pour ça.
j'avais pas cherché sur google avec les mots clé "import tableau html", effectivement j'arrive a quelque chose de différent de ce que j'avais pu trouvé. Reste à voir si je n'ai pas le même problème d'espace sur quelques tableaux, ca serait plus propre que de passer par le copier coller...
Marsh Posté le 31-05-2011 à 09:25:01
Salut,est-ce que cela t'aidera ? http://www.developpez.net/forums/d [...] r-chexbox/
Marsh Posté le 31-05-2011 à 11:17:18
j'ai finalement trouvé une facon de récupérer les tableaux de la page internet, il m'a juste fallu trouver le n° du tableau qui m'intéressait et cela marche très bien.
voici le code retravaillé pour mon besoin :
Code :
|
merci de ton aide.
Marsh Posté le 28-05-2011 à 21:58:00
Hello,
voilà mon problème, j'essaie de récupérer un tableau sur un site internet pour ensuite inscrire certaines valeurs de ce tableau dans un onglet de mon fichier Excel. Je ne peux pas passer par les connections de Excel sur un site web car il y a une identification à faire sur ce site.
avec la référence Microsoft Internet Controls, j'ai deja pu faire en sorte d'ouvrir cette page via Internet Explorer et j'ai pu aussi récupérer ce tableau via la source html. Le problème c'est qu'il y a des espaces qui surviennent dans ce tableau de façon assez aléatoire, ce qui me décalle toutes les données et rend l'utilisation de ce tableau impossible. Par contre, avec un copier coller a la main, le tableau est copié avec le même format et il n'y a plus de problème d'espace, ce qui m'a donné l'idée de recopier ce copier coller mais fait entièrement en VBA cette fois. Je me suis donc tourné vers le Application.SendKey en mettant le focus sur la fenetre IE, mais le résultat n'est pas très probant, la copie ne se fait qu'une fois sur 10... J'ai effectivement vu sur les différents sites dont j'ai cherché que le Application.SendKey était déconseillé pour tous les problèmes que cela engendre. J'ai donc cherché du côté de l'API SendMessage, j'ai d'ailleurs trouvé quelque chose qui a l'air intéressant, mais par contre je n'arrive pas du tout a m'en servir...
voici mon code que j'ai pour déjà essayé de faire un CTRL + A afin de sélectionner toute la page internet avant de copier :
mais cela ne fonctionne pas, d'ailleurs les SendMessage me retournent toujours 0 mais je ne suis pas sur qu'elle me renverrait 1 si le message est bien passé, je n'ai pas trouvé d'info la dessus mais bon au final c'est pas important, je vois bien que l'envoi du message n'a pas fonctionné car la page internet n'est pas selectionné via le ctrl + a.
Une idée de pourquoi cela marche pas ? est-ce que je n'utilise pas la bonne méthode ?
Merci d'avance de votre aide.
Message édité par Arwon le 29-05-2011 à 10:56:14