Excel VBA Interaction avec une page web URL Statique (JSP)
Hellowwww a tous ,
Tout d'abord ceci es mon premier poste donc ci je fais des boulettes je demande déjà votre pardon
ps: j 'écrit rarement en français et vous allez surement voire des fautes
Voici mon Sujet :
j'ai une feuil Exel ou je copie colle des donnez de code-barres
pour explication chaque code-barres contiens dans notre application web un nombre (X) de packet
mon bute c des vidée tout c code-barres
pour cela rien de difficile a ce jour j'imprime tout les code-barres "oui oui ca peu faire 24000 code-barres "
et je les scanne
quand je les scanne => ils vont direction notre application web qui elle les annuler directement
voila mon projet
1: copier tout les code-barres dans mon excel = OK ( normal c manuel
2: macro VBA => ouvre internet ( Intranet ) = OK
3: copie colle chaque code-barre un par un écrit ok dans mon excel quand le code-barres a êtes (.submit)
Voici mon souci
le site ou je me connecte a un URL Statique ( JavaServer Pages ) je ne peu vous le donner car c'est un INTRANET :s
dans mon code que voici HAAAA OUIII AUSSI JE DEBUTE
IMPORTENT LE CODE FONCTIONNE AVEC GOOGLE
MAIS NE FONCTIONNE PAS DANS MON : JavaServer Pages
voire erreur ci dessous
Sub IEconnect()
Dim ie As InternetExplorer
Dim sURL As String
Dim CellEmpty As Boolean
Dim valeur As Range
'====================Verification si cellule vide====================
CellEmpty = IsEmpty(Range("B3"))
If CellEmpty = True Then
Sheets("MACROAVCS").Select
Range("C3").Select
ActiveCell.FormulaR1C1 = "NOK"
Exit Sub
Else
'====================Ouverture de la page + config====================
sURL = "www.google.be"
Set ie = New InternetExplorer
With ie
.Top = 10
.Left = 0
.Width = 1000
.Height = 750
.AddressBar = 0
.StatusBar = 0
.Toolbar = 0
.Visible = True
.Navigate sURL
'====================Chargement de la page====================
Do Until Not .Busy And .ReadyState = 4
DoEvents
Loop
'====================Ecrit TEXT dans la barre de recherche====================
.Document.all("q").Value = (Range("B3"))
Application.Wait Now + TimeSerial(0, 0, 5)
Sheets("MACROAVCS").Select
Range("C3").Select
ActiveCell.FormulaR1C1 = "OK"
End With
'====================Charge la page====================
Do Until Not ie.Busy
DoEvents
Loop
'====================Click sur ok====================
ie.Document.forms(0).submit
Set ie = Nothing
Err.Clear
End If
End Suberreur 1 : Evidemment c une page statique donc que faire un wait ?
ci je retire cette loop avec un wait application....
j'ai une deuxième erreur
Do Until Not .Busy And .ReadyState = 4
DoEvents
Looperreur 2 : il ne trouve pas la textbox peu etre que c'est différent avec une URL statique ?
.Document.all("q").Value = (Range("B3"))Lundi je vous donnerais des Screenshots du site + les infos élément inspecter
la fin du "site" intranet = jsp/index.jsp
Bonjour,
Je ne vois pas en quoi une page statique poserait problème, et bien au contraire puisque la réponse est indépendante de celui qui la pose !
Y a t-il une procédure d'authentification ? (login)
Peux-tu nous donner le code source de la page en faisant clic droit > voir la source (cela dépend du navigateur) ?
Dans ce code source, y a t-il un "champ" appelé q ?
Quand on envoie une requête, est-ce que la variable apparaît dans l'adresse ? en d'autre terme le site utilise la méthode post ou get ?
Si tu n'es pas spécialiste web, seul le code source peut nous éclairer au départ.
Et si tu préfère la langue de Shakespeare, pas de soucis.
Merci pour cette première réponse
-Y a t-il une procédure d'authentification ?
NON et OUI le login et MDP ce fais automatiquement car c lier a notre session PC donc quand il s'ouvre je suis deja log par contre il y a une autorisation a donner a JAVA a chaque lancement
du genre autorisée case a cocher et ensuite exécuté
-Peux-tu nous donner le code source de la page en faisant clic droit :
Oui je peu vous donnez ça une Foix que je passe au boulot / ou je demanderais a quelqu’un sur place de me l'envoiler .
-Dans ce code source, y a t-il un "champ" appelé q ? :
NON dans le code source de la page la (textbox) a comme ID codebare ce que j'ai changer au moment même du test
.Document.all("codebare").Value = (Range("B3"))
Application.Wait Now + TimeSerial(0, 0, 5)
Sheets("MACROAVCS").Select
Range("C3").Select
ActiveCell.FormulaR1C1 = "OK"Quand on envoie une requête, est-ce que la variable apparaît dans l'adresse ? NON l'adresse ne change jamais même ci tu change d'onglet rien ne change a la barre URL
ce qui me laisse penser a une application web JAVA possible ??
j'avais tester ceci aussi encore une fois la même erreur comme ci il trouve pas la (textbox) ou ne peu écrire dedans
'test écriture 2
Set barrecode = ie.Document.getelementbyid("codebare")
barrecode.Value = Range("B4")pour ce qui es du readyState quand je met un point d’arrêt sur google il me donne comme valeur 4 sur notre System intranet pas de valeur :s
d'ici ce soir je vous donne le fichier excel avec cela pourras peu être vous aider !
Mici