Bonjour à tous,
J'ai apporté des améliorations, correctifs et commentaires sur le script, des temporisations pour les exécutions de script de pages, les jeux sont gérés par un bouton, des cases à cocher pour la sélection du champs réduit et des jeux gagnant/placé groupés et des boutons radio pour sélectionné le type de jeux, il ne reste plus qu'à remplir les tables de jeux ZeTurf et gérer les boucles de jeux, je vous conseille de laisser la validation en manuel :
 
Private Sub IEZeTurf_Click()
	Dim IE As Object
	Dim IEDoc As Object
	Dim Boutons As Object
	Dim ZonesSaisies As Object
	Dim I As Integer
	Dim J As Integer
	Dim K As Integer
	Dim L As Integer
	Dim M As Integer
	Dim ValeurBouton As String
	Dim UrlZeTurf As String
	'On récupère l'URL ZeTurf de la course en cours d'étude
	'Forcément une course du jour ou du lendemain
	If AnalyseCourse.UrlZeTurf.Text = "" Then
		MsgBox("Cette course n'est plus ouverte aux paris.")
		Exit Sub
	Else
		UrlZeTurf = AnalyseCourse.UrlZeTurf.Text
	End If
	'Initialisation des tables Jeux ZeTurf
	'Maximum 5 chevaux en Bases et 10 en champs réduit
	Dim JeuxZeTurfSimple(5) As Integer
	Dim JeuxZeTurfCouple(5, 10) As Integer
	Dim JeuxZeTurfTrio(5, 5, 10) As Integer
	Dim JeuxZeTurfZE4(5, 5, 5, 10) As Integer
	Dim JeuxZeTurfZE5(5, 5, 5, 5, 10) As Integer
	For I = 1 To 5
		For J = 1 To 5
			For K = 1 To 5
				For L = 1 To 5
					JeuxZeTurfSimple(L) = 0
					For M = 1 To 10
						JeuxZeTurfCouple(L, M) = 0
						JeuxZeTurfTrio(K, L, M) = 0
						JeuxZeTurfZE4(J, K, L, M) = 0
						JeuxZeTurfZE5(I, J, K, L, M) = 0
					Next M
				Next L
			Next K
		Next J
	Next I
'		
'Chargement des jeux ZeTurf 
'A vous de remplir...
'
		Call ChargeJeuxZeTurf()
	IE = CreateObject("InternetExplorer.application")
	IE.AddressBar = False
	IE.MenuBar = False
	IE.StatusBar = False
	IE.Toolbar = False
	IE.Visible = True
	IE.TheaterMode = True
	IE.Navigate(UrlZeTurf)
	Do Until Not IE.Busy And IE.ReadyState = 4
	Loop
	System.Threading.Thread.Sleep(5000)
	FileOpen(1, "ConnexionZeTurf.txt", OpenMode.Input)
	IEDoc = IE.Document
	'Saisie Login (input 0) / Mot de passe (input 1) / Date de naissance (input 2,3 et 4)
	ZonesSaisies = IEDoc.GetElementsByTagName("input")
	ZonesSaisies(0).Value = Trim(LineInput(1))
	ZonesSaisies(1).Value = Trim(LineInput(1))
	ZonesSaisies(2).Value = Trim(LineInput(1))
	ZonesSaisies(3).Value = Trim(LineInput(1))
	ZonesSaisies(4).Value = Trim(LineInput(1))
	FileClose(1)
	'Validation Saisie 
	'On charge la collection "Boutons" 
	Boutons = IEDoc.getElementsByTagName("button")
	For I = 0 To Boutons.Length - 1
		If Boutons(I).ID = "connection_submit" Then Exit For
	Next I
	Boutons(I).Click
	'Pause pour laisser le temps d'exécution aux scripts de la page web et du retour serveur
	System.Threading.Thread.Sleep(5000)
	'*** 
	'*** Sélection du type de pari en fonction de la valeur du bouton
	'*** 
	'1 ou 2 => Simple Gagnant et Placé
	'29 => ZE Show
	'7 => ZE Couillon
	'3 => Jumelé Gagnant
	'4 => Jumelé Ordre
	'5 => Jumelé Placé
	'6 => Trio
	'11 => Trio Ordre
	'8 => ZE4
	'22 => ZE4 Ordre
	'12 => ZE5
	If SimpleGagnant.Checked Then ValeurBouton = "1"
	If SimplePlace.Checked Then ValeurBouton = "2"
	If CoupleGagnant.Checked Then ValeurBouton = "3"
	If CouplePlace.Checked Then ValeurBouton = "5"
	If Trio.Checked Then ValeurBouton = "6"
	If ZE4.Checked Then ValeurBouton = "8"
	If ZE5.Checked Then ValeurBouton = "12"
	If ZeShow.Checked Then ValeurBouton = "29"
	If ZeCouillon.Checked Then ValeurBouton = "7"
'		
'Ici vous devez gérer les boucles sur les tables de jeux
'Jusqu'au bouton Validation qu'il vaut mieux laisser en manuel
'A vous de remplir...
'Ci dessous, j'utilise CStr(Base) en tant que Base pour un jeux en champs  réduits
'Et je coche 1 cheval sur 3 dans le champs réduit
' => For J = 1 To NbPart Step 3
'
	'On recharge systématiquement la collection "Boutons", car une sélection peut ajouter ou supprimer des éléments de la collection 
	Boutons = IEDoc.getElementsByTagName("button")
	For I = 0 To Boutons.Length - 1
		If Boutons(I).Value = ValeurBouton Then Exit For
	Next I
	Boutons(I).Click
	'Pause pour laisser le temps d'exécution aux scripts de la page web
	System.Threading.Thread.Sleep(300)
	'*** 
	'*** Sélection du champs du jeux en fonction de la valeur du bouton
	'*** 
	'Par défaut : mode_unitaire
	'mode_reduit
	'mode_total
	'On recharge systématiquement la collection "Boutons", car une sélection peut ajouter ou supprimer des éléments de la collection 
	Boutons = IEDoc.getElementsByTagName("button")
	If (I = 3 Or I = 5 Or I = 6 Or I = 8 Or I = 12) And ChampsReduit.Checked Then
		Boutons = IEDoc.getElementsByTagName("button")
		For I = 0 To Boutons.Length - 1
			If Boutons(I).Value = "mode_reduit" Then Exit For
		Next I
		Boutons(I).Click
		'Pause pour laisser le temps d'exécution aux scripts de la page web
		System.Threading.Thread.Sleep(300)
	End If
	'*** 
	'*** Sélection des chevaux en fonction du title type de paris et de la valeur du bouton pour le numéro du cheval en mode Unitaire ou combiné
	'*** 
	'G => Simple Gagnant et class="btn-partant"
	'On recharge systématiquement la collection "Boutons", car une sélection peut ajouter ou supprimer des éléments de la collection 
	If ValeurBouton = 1 Then
		Boutons = IEDoc.getElementsByTagName("button")
		For I = 0 To Boutons.Length - 1
			If Boutons(I).Title = "G" And Boutons(I).Value = CStr(Base) Then Exit For
		Next I
		Boutons(I).Click
		'Pause pour laisser le temps d'exécution aux scripts de la page web
		System.Threading.Thread.Sleep(100)
	End If
	If (ValeurBouton = 1 And GagnantPlace.Checked = True) Or ValeurBouton = 2 Then
		'On recharge systématiquement la collection "Boutons", car une sélection peut ajouter ou supprimer des éléments de la collection 
		Boutons = IEDoc.getElementsByTagName("button")
		For I = 0 To Boutons.Length - 1
			If Boutons(I).Title = "P" And Boutons(I).Value = CStr(Base) Then Exit For
		Next I
		Boutons(I).Click
		'Pause pour laisser le temps d'exécution aux scripts de la page web
		System.Threading.Thread.Sleep(100)
	End If
	If ChampsReduit.Checked = False Then
		'Mode Combiné
		'S => ZE Show et class="btn-partant"
		'S => ZE Couillon et class="btn-partant"
		'S => Jumelé Gagnant et class="btn-partant"
		'S => Jumelé Ordre et class="btn-partant ordered"
		'S => Jumelé Placé et class="btn-partant"
		'S => Trio et class="btn-partant"
		'S => Trio Ordre et class="btn-partant ordered"
		'S => ZE4 et class="btn-partant"
		'S => ZE4 Ordre et class="btn-partant ordered"
		'S => ZE5 et class="btn-partant"
		'On recharge systématiquement la collection "Boutons", car une sélection peut ajouter ou supprimer des éléments de la collection 
		Boutons = IEDoc.getElementsByTagName("button")
		For I = 0 To Boutons.Length - 1
			If Boutons(I).Title = "S" And Boutons(I).Value = CStr(Base) Then Exit For
		Next I
		Boutons(I).Click
		System.Threading.Thread.Sleep(100)
	Else
		'en mode Champs Réduit
		'B pour le cheval de base =>
		'On recharge systématiquement la collection "Boutons", car une sélection peut ajouter ou supprimer des éléments de la collection 
		Boutons = IEDoc.getElementsByTagName("button")
		For I = 0 To Boutons.Length - 1
			If Boutons(I).Title = "B" And Boutons(I).Value = CStr(Base) Then Exit For
		Next I
		Boutons(I).Click
		System.Threading.Thread.Sleep(100)
		'Mode Champs Réduit
		'C pour les chevaux du Champs =>
		'On recharge systématiquement la collection "Boutons", car une sélection peut ajouter ou supprimer des éléments de la collection 
		Boutons = IEDoc.getElementsByTagName("button")
		For J = 1 To NbPart Step 3
			For I = 0 To Boutons.Length - 1
				If Boutons(I).Title = "C" And Boutons(I).Value = J Then Exit For
			Next I
			Boutons(I).Click
			System.Threading.Thread.Sleep(100)
		Next J
	End If
	ZonesSaisies = Nothing
	Boutons = Nothing
	IEDoc = Nothing
	IE = Nothing
End Sub