Manipulation d'Internet Explorer via VB

Le , par Qwazerty, Expert éminent
Salut

Je vous propose un tutoriel sur l’interaction entre Excel VBA et Internet Explorer.

Les sujets développés sont
  • la déclaration des variables
  • la navigation dans le code source d'une page
  • récupérer et saisir des données, agir sur des boutons, des liens, des cases à cocher...
  • le téléchargement de fichiers
  • adapter ses méthodes d'interaction en fonction du contenu de la page
  • un rappel sur l'utilisation des espions et des point d'arrêt


Afin d'y parvenir, vous trouverez dans ce document des exemples concrets mettant en pratique une partie des méthodes fournies par VBA pour manipuler le contenu d'une page Web. Nous développerons par exemple un code visant à obtenir les résultats du loto sportif ou encore la sélection d'un trajet sur le site de la SNCF.

Merci de laisser sur ce topic votre avis sur mon document, toutes les critiques constructives sont les bienvenues .

Si vous avez la flemme de taper, pensez à minima à noter la discussion

Bonne lecture et bon apprentissage

++
Qwaz


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de kiki29 kiki29 - Expert éminent sénior https://www.developpez.com
le 26/10/2015 à 0:07
Salut, à lire et appliquer : Développer avec Office 64 bits, d'autant plus que même Microsoft déconseille l'installation d'une version 64 bits d'Office.

extrait :
Office 32 bits est recommandé pour la plupart des utilisateurs

Nous recommandons la version 32 bits d’Office pour la plupart des utilisateurs, car elle offre une plus grande compatibilité avec la plupart des autres applications, en particulier les compléments tiers. C’est la raison pour laquelle la version 32 bits d’Office 2013 est installée par défaut, même sur les systèmes d’exploitation Windows 64 bits. Sur ces systèmes, le client Office 32 bits est pris en charge en tant qu’installation Windows-32-on-Windows-64 (WOW64). WOW64 est l’émulateur x86 qui permet l’exécution de façon transparente des applications Windows 32 bits sur les systèmes Windows 64 bits. Cela permet aux utilisateurs de continuer à utiliser les contrôles ActiveX et les compléments COM Microsoft avec la version 32 bits d’Office.
Avatar de Qwazerty Qwazerty - Expert éminent https://www.developpez.com
le 20/10/2014 à 19:39
Salut

Merci pour la précision Marc, je n'ai jamais rencontré ce problème.

bonne soirée
++
Qwaz
Avatar de Qwazerty Qwazerty - Expert éminent https://www.developpez.com
le 13/05/2016 à 23:11
Bonjour

Ce fil de discussion existe pour exposer d'éventuelles erreurs ou méthodes qui concerneraient directement le tutoriel.
Ce fil n'est pas fait pour que chacun puisse y exposer sa problématique personnelle.

@Otman.pro, j'imagine qu'un modérateur est passé sur ce fil de discussion et si le message que tu avais posté était identique à celui que j'ai reçu en MP, je ne suis pas étonné qu'il ait été supprimé.
C'est un forum d'entraide, les gens répondent à des questions, pas à des cahiers des charges.
Il n'y a pas d’animosité dans ce que je dis, il faut juste faire un effort et fournir un début de travail et de réflexion. Pas juste dire, "Il faut que ça fasse, ça, ça et ça. Je suis débutant merci de le faire pour moi".

@mimidodo, seul la première partie de mon message te concerne, la démarche de recherche est visiblement présente, il faudrait juste créer un fil de discussion. Ce fil n'est pas le plus adapté pour poser une question, seuls quelques personnes le suivent et donc les messages qui y sont postés sont très peu visibles (c'est d'ailleurs un problème, car certains messages apportent de réels solutions mais sont noyés dans le flot).
La preuve en est que je n'ai pas vu passer ton message.

Bonne soirée
++
Qwaz
Avatar de patricktoulon patricktoulon - Expert éminent sénior https://www.developpez.com
le 16/05/2016 à 19:03
mais que fait la bolice !!!!!

bonjour a tous
il faudrait rappeler que ce post est un article sur la manipulation internet qui a été rédigé par Qwazerty pouvant donner une approche basique sur la manipulation de l'object IE
seules les questions relatives a cet article ou d'éventuelles manipulations non présentes sur cet article doivent y figurer
malheureusement ce n'est pas le cas!!!!!
peut être devrait on demander a la modération de mètre en plus gros caractères le texte de la charte si tant est qu'on la lise bien sur

donc vous avec un forum excel vba poster vos demandes sur celui ci

merci pour votre compréhension
Avatar de Christophe76170 Christophe76170 - Nouveau Candidat au Club https://www.developpez.com
le 13/01/2017 à 17:25
Bonjour, merci pour cet article très instructif.
Je ne comprends pas un point en III-C-1 Document est vide avec la page internet explorer d'ouverte sur google.



merci d'avance pour vos réponses, PS : Je suis débutant sur ce forum
Avatar de Marc-L Marc-L - Expert éminent sénior https://www.developpez.com
le 13/01/2017 à 18:00

Bonjour,

c'est normal car comme indiqué dans le tutoriel pour accéder au Document il faut déclarer une variable objet à cet effet !

_________________________________________________________________________________________________________
Je suis Paris, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
Avatar de Qwazerty Qwazerty - Expert éminent https://www.developpez.com
le 13/01/2017 à 21:38
Salut et bienvenue

Il suffit parfois de lire les messages précédents pour avoir des réponses Ici et par exemple.

Bon apprentissage et bonne soirée
Qwaz
Avatar de bwigle bwigle - Membre à l'essai https://www.developpez.com
le 12/06/2017 à 19:26
Bonjour à tous !

Premièrement, je tiens à saluer le travail de Qwazerty sur la création du post (Manipulation d'internet Explorer via VBA)

Deuxièmement, je rencontre un léger problème avec l'utilisation du bout de code pour manipuler une ListBox :
Cela fait plusieurs jours que je tourne le code dans tous les sens mais impossible de trouver une solution sans erreur ...

J'aimerais modifier la valeur d'une listbox qui a le code suivant :

Code : Sélectionner tout
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
26
27
28
29
30
31
32
 
  </label>
  <label id="month-label" class="month">
  <span  id="BirthMonthHolder" >
  <select  id="BirthMonth" name="BirthMonth" >
  <option value="">Mois</option>
  <option  value="01" >
  Janvier</option>
  <option  value="02" >
  Février</option>
  <option  value="03" >
  Mars</option>
  <option  value="04" >
  Avril</option>
  <option  value="05" >
  Mai</option>
  <option  value="06" >
  Juin</option>
  <option  value="07" >
  Juillet</option>
  <option  value="08" >
  Août</option>
  <option  value="09" >
  Septembre</option>
  <option  value="10" >
  Octobre</option>
  <option  value="11" >
  Novembre</option>
  <option  value="12" >
  Décembre</option>
  </select>
  </span>
Le pire c'est que la solution est surement simple... Mais là je bloc !!
Le lien pour essayer : https://accounts.google.com/SignUp?hl=fr

Merci pour vos futures réponses ...
Avatar de GuiJenn34 GuiJenn34 - Membre à l'essai https://www.developpez.com
le 06/09/2017 à 13:51
Bonjour,

J'ai beau essayer de trouver ma balise sur lequel je veux extraire mes données mais je n'y arrive pas
Le site est : https://france.fedex.com/te/webapp25...LIS=7090592607
C'est pour extraire la valeur contenant le statut de la livraison.
Mais je n'y arrive pas.

Je sais qu'avec ce bout de code trouvé cela fonctionne pour Google :
Code : Sélectionner tout
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
26
27
28
29
30
31
32
33
'Déclaration des variables
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
Dim InputGoogleZoneTexte As HTMLInputElement
Dim InputGoogleBouton As HTMLInputElement
 
   'Chargement d'une page Web Google
   IE.Navigate "www.google.fr"
 
   'Affichage de la fenêtre IE
   IE.Visible = False
 
   'On attend le chargement complet de la page
   WaitIE IE
 
   'On pointe le membre Document
   Set IEDoc = IE.document
 
   'On pointe notre Zone de texte
   Set InputGoogleZoneTexte = IEDoc.all("q")
 
   'On définit le texte que l'on souhaite placer à l'intérieur
   InputGoogleZoneTexte.Value = "VBA Excel"
 
   'On attend la fin de la recherche
   WaitIE IE
 
   'On libère les variables
   MsgBox InputGoogleZoneTexte.Value
 
   IE.Quit
   Set IE = Nothing
   Set IEDoc = Nothing
Mais pour l'autre site impossible.

Merci de votre aide. Cdt
Avatar de AlainTech AlainTech - Modérateur https://www.developpez.com
le 06/09/2017 à 14:18
Bonjour,

Petit rappel à tous:

Le but de cette discussion est d'annoncer le tutoriel et, éventuellement, poster des commentaires à son sujet.
Pas de poser des questions.
Pour vos questions spécifiques, ouvrez une discussion dans le forum https://www.developpez.net/forums/f6...ros-vba-excel/

Ce forum-ci ne doit servir qu'aux contributions.

Cordialement
Avatar de beaudire beaudire - Candidat au Club https://www.developpez.com
le 10/10/2017 à 12:06
Merci Qwazerty pour cet excellent tuto !!!
Cela m'a permis de faire déjà tellement de chose que je n'arrivais pas à faire sans...

Ce tuto est vraiment excellent !!!
Offres d'emploi IT
Chef de Projet Rouen Paris Aix-en-Provence (H/F)
IT-CE - Haute Normandie - Bois Guillaume (76230)
Technicien Assistant Utilisateurs H/F
Econocom SAS - Haute Normandie - Paluel (76450)
Technicien Assistant Utilisateurs H/F
Econocom SAS - Haute Normandie - Penly (76630)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Visual Basic 6