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
Partager