Bonjour, à tous, je reviens une nouvelle fois vers vous qui êtes bien meilleurs que moi afin de trouver la solution à un pb qui m'empêche d'avancer dans la conception d'une macro EXCEL.
C'est une macro qui automatise le remplissage d'un champ sur une page internet et clique sur ok. Le pb est qu'avec l'instruction WITH détruit l'objet et ferme instantanément la page Chrome alors que j'aimerai la laisser ouverte.

Je suis certain qu'il existe une solution simple enfin j'espère pour ainsi terminer ce petit développement et je m'en remets à vous bien cordialement


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
 
Public i As Integer
Public Obj As WebDriver
 
Private Sub Worksheet_Change(ByVal Target As Range)
 
    Set Obj = New ChromeDriver
    Dim Enr_cellule As String
 
    ' Variables du compteur
    Dim x As Integer
    Dim y As Integer
    Dim z As Integer
 
saisieLongueurPC = 14  'Application.InputBox(" Veuillez saisir la longueur du PC ")
saisieLongueurEXP = 6 'Application.InputBox(" Veuillez saisir la longueur de la date de PER ")
saisieLongueurLOT = 8 ' Application.InputBox(" Veuillez saisir la longueur du lot ")
saisieLongueurSN = 16 'Application.InputBox(" Veuillez saisir la longueur de la date de SN ")
 
Worksheets("Feuil1").Activate
i = 1 + Numrows
 
 
        ' Vérifie si la cellule modifiée se trouve dans la plage A1:A10
          If Not Intersect(Target, Range("A1:A1000")) Is Nothing Then
 
        ' Numéro dernière ligne remplie = dernier enregistrement
          Numrows = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
 
 
For x = 1 To Numrows
 
          y = x
          Enr_cellule = Range(("A") & y).Value
 
          PC = "(01)" + Mid(Enr_cellule, 3, saisieLongueurPC)
          PER = "(17)" + Mid(Enr_cellule, 19, saisieLongueurEXP)
          LOT = "(10)" + Mid(Enr_cellule, 27, saisieLongueurLOT)
          SN = "(21)" + Mid(Enr_cellule, 38, saisieLongueurSN)
 
         'la cellule B1 recoit son affectation ici
          Range(("B") & y).Value = PC + PER + LOT + SN
          Enr_formatte = Range(("B") & y).Value
 
Next
 
     With Obj
 
        .Start "Chrome"
         .Get URL
        ' remplis les champs de connection '
         .FindElementById("Username").SendKeys "OPER"
         .FindElementById("Password").SendKeys "0000"
 
          Application.WindowState = xlMaximized
 
        ' clique pour se connecter
         .FindElementByCss("input[value='OK']").Click
 
        ' Stoppe toutes les activités d'Excel
          Application.Wait DateAdd("s", L, Now)
 
         'la cellule B1 recoit son affectation ici
          Range(("B") & y).Value = PC + PER + LOT + SN
          Enr_formatte = Range(("B") & y).Value
 
        ' copie la variable dans le champ voulu
         .FindElementById("UnitCode").SendKeys Enr_formatte
        ' clique sur le bouton
         .FindElementById("SearchParentBtn").Click
 
          ActiveWindow.WindowState = xlMaximize
 
      End With
 
End If
 
End Sub