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 :

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
avec une définition de variables pour permettre de chercher les données en question et les coller sur une nouvelle feuille.

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) :
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
Une fois la page sécurisée ouverte, je n'arrive tout de même pas à extraire les données voulues,

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