Re,
#Marc-L
y-a-pas de quoi, je me suis peut-être mal exprimé également.
Bonne journée
Re,
#Marc-L
y-a-pas de quoi, je me suis peut-être mal exprimé également.
Bonne journée
Bonjour,
Je démarre juste et j'ai lu le tuto de qwazerty sur IE et vba excel. Merci énormément pour ce travail...
Mon problème : pour me familiariser, j'ai rentré le code du tuto tel quel (qui permet d'ouvrir google et rentrer une recherche dans la case en question). Cela fonctionne. En revanche, je n'arrive pas à obtenir de liste quand je met un espionage. J'ai fait comme dans le tuto (espion juste avant la libération des variables), mais l'objet all dans IE.document n'apparaît pas. Il y a bien une arborescence, mais avec peu de champs.
Quelqu'un a-t-il eu ce genre de problème ? Est-ce qu'il y a une option particulière à déclarer dans Internet explorer pour faire apparaître toute l'arbrescence ? Je comprends que cela est nécessaire pour connaître les types à déclarer pas la suite, sur d'autre pages etc...
Merci d'avance.
Salut
Remonte un petit peu la discussion jusqu'au message n°77, il y a la solution à ton problème.
Bonne journée
+
Qwaz
Merci beaucoup pour ta réponse, cela fonctionne ... et je peux continuer mes essais.
Bonne soirée.
Bonjour,
Je continue mes essais : j'ai écrit un code qui récupère des données sur un site web, on remplit un formulaire et on récupère un fichier Excel. Après avoir simulé le clic dans la macro vba, et avant que le fichier Excel distant ne s'ouvre, j'ai une fenêtre Windows qui me demande si je veux ouvrir, enregistrer, ou annuler.
Sauriez-vous svp comment gérer ce type de fenêtre dans la macro vba, Est-ce possible ou connaît-on des contournements ?
merci d'avance
Salut
Fais quelques recherches sur le forum, plusieurs personnes ont déjà demandé cela, il y a des solution avec des Sendkey, des solution si le fichier à une adresse précise qui peut être appelée sans actionner le bouton.
Il me semble que Marc-L a mis une contribution en ligne pour pallier au problème à l'aide de sendkey je crois.
++
Qwaz
Bonjour
une approche dont je me sert a adapter a ton cas
les ligne rouge sont a adapter
une méthode parmi d'autre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Sub test_recupfichierexcel() Dim IE As Object Set IE = CreateObject("internetexplorer.application") 'instancie l'Object URL = "https://www.bla bla bla" IE.navigate URL IE.Visible = True Do: DoEvents: Loop Until IE.readyState = 4 And IE.busy ' peut être qu'ici il va te falloir manipuler un bouton pour déclencher la fenêtre de téléchargement voir le tuto de qwazerty sur ce sujet Application.Wait (Now + TimeValue("0:00:05")) SendKeys "{Tab}" SendKeys "{Tab}" SendKeys "{Enter}" waitfichier "chemin complet du fichier" '(en général c'est le chemin des téléchargement sur W7) IE.Quit Application.DisplayAlerts = False Application.ScreenUpdating = False set wbk2 = Workbooks.Open("chemin complet du fichier") ' End Sub Sub waitfichier(fichier) Do: DoEvents: Loop Until Dir(fichier, vbHidden) <> "" End Sub
Génial
merci énormément à tous les deux Patrick et Qwaz !
Bonjour a tous,
Tout d'abord merci pour ce tuto qui est trés bien fait, et bien pratique !
J'ai juste un petit probléme, en effet j'ai mis un espion sur IEdoc comme j'ai vu d'en un autre commentaire car l'espion sur IE ne m'affichait pas les Items, cependant au moment de comparer l'arboresence il manque des Items et je ne peux pas continuer mon travail du fait que l'Item qui m'interesse pour prendre du texte dans la page n'apparait pas. quelqu'un aurait-il une idée du comment et du pourquoi ?
J'ai essayé de voir en mettant l'attente de chargement de la page mais cependant cela ne fonctionne toujours pas.
Je vous joins mon code:
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 Option Compare Database Option Explicit Sub WaitIE(IE As InternetExplorer) 'On boucle tant que la page n'est pas totalement chargée Do Until IE.ReadyState = READYSTATE_COMPLETE DoEvents Loop End Sub Sub RechercheVBAExcel() 'Déclaration des variables Dim IE As New InternetExplorer Dim IEDoc As HTMLDocument Dim InputGoogleZoneTexte As HTMLInputElement Dim InputGoogleBouton As HTMLInputElement Dim FormGoogleCherche As HTMLFormElement 'Chargement d'une page Web Google IE.navigate "www.google.com/finance" 'Affichage de la fenêtre IE IE.Visible = True '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 = "VSAR" 'On pointe notre bouton Set InputGoogleBouton = IEDoc.all("gbqfb") 'On simule un clic InputGoogleBouton.Click 'On attend le chargement complet de la page WaitIE IE 'On libère les variables Set IE = Nothing Set IEDoc = Nothing End Sub
Cordialement
TH
Bonjour,
voir post #115 …
Bonjour,
Merci Qwazerty pour ce tuto très bien construit et très pédagogue !
Je suis débutant et j'ai pour ma part téléchargé le fichier source que tu as mis à disposition, et malgré avoir coché les 2 références j'ai un message d'erreur de compilation qui apparaît en m'indiquant de mettre à jour le code contenu pour pouvoir etre utilisé sur les systèmes 64 bits. aussi ce message indique de mettre a jour les instructions Declare, puis de les marquer avec l'attribut PtrSafe.
Quelqu'un a t il eu le meme problème que moi ? merci de vos réponses
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.
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
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
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
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, …
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 :
Le pire c'est que la solution est surement simple... Mais là je bloc !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 lien pour essayer : https://accounts.google.com/SignUp?hl=fr
Merci pour vos futures réponses ...
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 :
Mais pour l'autre site impossible.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci de votre aide. Cdt
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
Partager