Solution tirée par les cheveux !
Fais d'abord une copie d'écran du site et repère avec paint par exemple la position des onglets statistiques jockeys et entraîneurs ... paramètres que tu mets dans l'onglet param.
Il ne faut toucher à rien de ton poste tant que la macro stat n'est pas revenue d'elle-même sur excel.
#If VBA7 Then
Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
#Else
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
#End If
Sub stat()
Dim nav As Long, url$, ligne%, posX%, posY%, Img As Object, fenetre As String
fenetre = ThisWorkbook.Name & " - Excel"
ligne = Selection.Row
If Left(ActiveSheet.Cells(ligne, 1), 4) <> "http" Then
MsgBox "Sélectionner une url !"
Exit Sub
End If
url = ActiveSheet.Cells(ligne, 1).Value
MsgBox "Ne pas toucher à la souris ou au pad, le curseur va se positionner à l'endroit du menu déroulant de la page web !"
nav = ShellExecute(0, "open", url, 0, 0, 1)
Application.Wait (Now + TimeValue("00:00:05"))
For i = 2 To 3
posX = Sheets("param").Cells(i, 2)
posY = Sheets("param").Cells(i, 3)
Set f = Sheets.Add(After:=Sheets(Sheets.Count))
f.Name = Sheets("param").Cells(i, 1)
Call SetCursorPos(posX, posY)
mouse_event MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_LEFTUP, posX, posY, 0, 0
SendKeys "{UP}"
SendKeys "{ENTER}"
Application.Wait (Now + TimeValue("00:00:05"))
SendKeys "^a"
Application.Wait (Now + TimeValue("00:00:01"))
SendKeys "^c"
Application.Wait (Now + TimeValue("00:00:03"))
f.Cells(1, 1).Select
f.Paste
For ligne = f.Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
If f.Cells(ligne, 9) = "" Then f.Rows(ligne).Delete Shift:=xlUp
Next
For Each Img In f.Pictures
Img.Delete
Next
With f.Cells.Font
.Name = "Calibri"
.Size = 11
End With
Next
AppActivate fenetre
Application.Wait (Now + TimeValue("00:00:01"))
End Sub
C'est plus un exercice de style car cela ne fonctionne pas à tous les coups (pour certaines courses le positionnement en hauteur des onglets n'est pas le même).
En tous cas impossible de récupérer dans le code source les données appelées en ajax.