instruction WITH détruit l'objet et c'est le pb
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:
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 |