Bonjour tout le monde,
Il s'agit de ma première intervention sur votre forum, suite à mes recherches intensives en vain depuis 2 semaines.
Je suis actuellement sur un projet me permettant d'extraire des données d'un site web, une partie de ces données ne requiert pas d'identification, le code est le suivant :
avec une définition de variables pour permettre de chercher les données en question et les coller sur une nouvelle feuille.
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 Sub SitewebMT() With Sheets("TEMP").QueryTables.Add(Connection:= _ "URL; mon site Web" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = False .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .WebSelectionType = xlEntirePage .WebFormatting = xlWebFormattingAll .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = False .WebDisableDateRecognition = False .WebDisableRedirections = False .Refresh BackgroundQuery:=False End With
Par contre, je bloque sur la partie nécessitant le Login et Mot de passe, en fait, la macro me renvoie la page me demandant d'insérer le login et mot de passe.
J'ai procédé manuellement à la saisie du Login et Mot de Passe à travers la fonction "A Partir du Web" sur excel, mais à ma grande surprise, il ne reconnait pas mes identifiants et me demande de les ressaisir (sachant que sur Internet Explorer, mes Identifiants sont corrects et me permettent d'ouvrir la page en question),
Par la suite, j'ai pensé à créer une macro qui permet la saisie de mon identifiant et mot de passe puis cliquer sur Valider (ci-dessous le code vba y afférent) :
Une fois la page sécurisée ouverte, je n'arrive tout de même pas à extraire les données voulues,
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 Sub perf() Dim i As Integer Dim IE As InternetExplorer Dim winShell As New ShellWindows Dim maPageHtml As HTMLDocument Dim Helem As IHTMLElementCollection Set IE = CreateObject("internetExplorer.Application") IE.Visible = True IE.navigate "La Page Web en question" Do Until IE.readyState = READYSTATE_COMPLETE DoEvents Loop Set maPageHtml = IE.document Set Helem = maPageHtml.getElementsByTagName("input") For i = 0 To Helem.Length - 1 If Helem(i).getAttribute("name") = "j_username" Then 'j_username est le nom de la case pour entrer le login Helem(i).innerText = "Mon Login" End If If Helem(i).getAttribute("name") = "j_password" Then 'j_password est le nom de la case pour entrer le mdp Helem(i).innerText = "Mon Mot de passe" End If IE.document.forms(0).submit Next End Sub
Pourriez-vous svp m'aider à trouver une solution,
Ps : je suis encore débutant en vba mais très pationné,
Je vous remercie par avance,
Mahmoud
Partager