Bonsoir, j'ai beaucoup avancer grâce au magnifique tuto d'internet et je parviens presque à faire ce que je souhaite avec le vba. Seul un problème subsiste c'est que lorsque j'importe un tableau de données dans excel et bien au bout d'un moment tout fout le camp. Je m'explique :
La macro ouvre une page web / se connecte ouvre une autre page de résultat de donnée / j'importe ces données. Des fois c'est nickel dès fois les résultats se décale. je relance la macro ça se décale encore plus.
On dirait qu'il y a un problème dans mes variables. Au bout d'un moment elles deviennent folles.
Pour la m^me Macro lancées 2 fois d esuite je n'ai pas le m^me résultat qui apparait. OUF

Pouvez vous me secourir, je dors sur ce trucs depuis des jours. Merci
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
'Option Explicit
Sub Educaplay()
 
 Dim MyHTML_Element As IHTMLElement
 Dim MyHTML_Element2 As IHTMLElement
 Dim MyURL As String
 'Dim ele As Object
 Dim htmlselectelElement As HTMLGenericElement
 'Dim Nb As Integer
 Dim MyBrowser As InternetExplorer
 Dim HTMLDoc As HTMLDocument
 Dim ie As SHDocVw.InternetExplorer
 
Dim Nombre_colone As Integer
Dim Nombre_Ligne As Integer
Dim Nombre_R As Integer 'Nb de résultats
Dim k As Integer 'chiffre pour remplir le tableau
Dim Valeur As Date
Dim i As Integer
Dim j As Integer
 
 
 
 
 
 On Error GoTo Err_Clear
 MyURL = "https://fr.educaplay.com/login/"
 Set MyBrowser = New InternetExplorer
 MyBrowser.Silent = True
 MyBrowser.Navigate MyURL
 MyBrowser.Visible = True
 Do
 Loop Until MyBrowser.ReadyState = READYSTATE_COMPLETE
 Set HTMLDoc = MyBrowser.Document
 HTMLDoc.all.user.Value = "*************" 'Enter your email id here
 HTMLDoc.all.pass.Value = "********" 'Enter your password here
 For Each MyHTML_Element In HTMLDoc.getElementsByTagName("button")
 If MyHTML_ID.Type = "loginNormal" Then MyHTML_Element.Click: Exit For
 Next
Err_Clear:
 If Err <> 0 Then
 Err.Clear
 Resume Next
 End If
 
 'start a new browser instance
    Set objIE = New InternetExplorer
    'make browser visible
    objIE.Visible = True
 
 objIE.Navigate "https://fr.educaplay.com/fr/miEducaplay.php?action=resultadosGrupo"
Do While objIE.Busy = True Or objIE.ReadyState <> 4: DoEvents: Loop
 
 
 
'Sélection de la ligne correspondant à 1TCB 2017-2018
Set IEDoc = objIE.Document
'oDoc.getElementsByName("idGrupoBusqueda")(0).Value = "149524" '1TCB 2017-2018
IEDoc.parentWindow.execScript "POST", "javascript"
IEDoc.getElementsByName("idGrupoBusqueda")(0).Value = "292868" 'TCB 2018 -2021 ==============CHANGEMENT CODE GROUPE EDUCAPLAY
IEDoc.forms(1).submit
Do While objIE.Busy = True Or objIE.ReadyState <> 4: DoEvents: Loop
 
 
 
 
 
'Worksheets(Feuil1).Range("A:ZZ").ClearContents
 
 
 
'Valeur = 0
' Valeur = Timer 'temporisation pour le rafraichissement de la page
'    Do While Timer < Valeur + 7
'    DoEvents
'    Loop
'
 
 
Set HTML = objIE.Document '========!!!!!!!!!!!LIGNE OBLIGATOIRE POUR LIRE TABLEAU!!!!!!!!!!=============
 
 
 
 
 
 
 
 
'======================Boucle pour mise à jour page======================
 
' j = 2
' i = 2
' k = 0
 
        'recherche le nombre de ligne elève
        Nombre_Ligne = HTML.getElementsByTagName("thead")(1).Children.Length
'boucle pour ecrire nom des élèves dans ligne colonne 1 tableau
For j = 2 To (Nombre_Ligne + 2)
 
        'emplacement ecriture nom eleve
        Worksheets("FEuil1").Cells(j, 1) = HTML.getElementsByTagName("thead")(1).Children(j - 2).innerText
        'MsgBox Nombre_Ligne
Next j
 
        'recherche le nombre de colonne machine
        Nombre_colone = HTML.getElementsByTagName("tr")(0).Children.Length
        'MsgBox Nombre_colone
        'boucle pour ecrire nom des machines dans colonne tableau
For i = 2 To (Nombre_colone + 2)
 
        'emplacement ecriture nom machine
        'Worksheets("FEuil1").Cells(1, i) = HTML.getElementsByTagName("th")(i - 2).innerText
        Worksheets("FEuil1").Cells(1, i) = HTML.getElementsByTagName("tr")(0).Children(i - 2).innerText
Next i
 
 
 
For j = 2 To Nombre_Ligne + 1
      For i = 2 To (Nombre_colone + 1)
        'Nombre_R = HTML.getElementsByTagName("td").Length
 'To Nombre_R
        'remplissage avec résultat
        Worksheets("FEuil1").Cells(j, i) = HTML.getElementsByTagName("td")(k).innerText
k = k + 1
      Next i
Next j
 
'Set MyObject = Nothing
 
 
objIE.Close
'Set objIE = Nothing
'Set objIE.Document = Nothing
End Sub



PS :je suis débutant