Bonjour,
Novice en la matière de programmation et malgré des lectures sur le forum, je ne parviens à boucler mon projet.
Projet:
Automatisation de la récupération de fichiers csv via excel VBA. Les fichiers sont générés sur un site en ASP (intranet) via la validation d'une suite de formulaires.
Voici le code (inspiration des pompages sur le forum)
Les liens html sont faux
les références vba microsoft HTML Object library et Internet Controle sont présents
Sub GeneFich()
Dim IE As Object 'InternetExplorer
Dim HlmIdent, HlmMdp, HlmBase, Hlmbouton, HlmOk, HlmSite, HlmEquip, Hlmddeb, Hlmdfin, Hlmgo As Object 'IHTMLElement
Dim MaPageHtml As Object 'HTMLDocument
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.navigate ("http://pageasp/ConnexCa.asp")
Do Until IE.readyState = 4
DoEvents
Loop
'Liste des paramètres des pages HTML
Set MaPageHtml = IE.document
Set HlmIdent = MaPageHtml.getElementsByName("login").Item
Set HlmMdp = MaPageHtml.getElementsByName("pwd").Item
Set HlmBase = MaPageHtml.getElementsByName("connexion").Item
Set HlmOk = MaPageHtml.getElementsByName("modifbase").Item
Set Hlmbouton = MaPageHtml.getElementsByName("Submit2").Item
Set HlmSite = MaPageHtml.getElementsByName("idsite").Item
Set HlmEquip = MaPageHtml.getElementsByName("idequipe").Item 'numéro de l'équipe
Set Hlmddeb = MaPageHtml.getElementsByName("ddeb").Item 'date de début
Set Hlmdfin = MaPageHtml.getElementsByName("dfin").Item 'date de fin
Set Hlmgo = MaPageHtml.getElementsByName("go").Item 'Image fléche de validation données
'Habilitation d'acces
HlmIdent.Value = "L'indentifiant"
HlmMdp.Value = "le mot de passe had-oc"
HlmBase.Value = "co"
HlmOk.Value = "ok"
Hlmbouton.Click
'Connexion sur la page d'une équipe
IE.navigate ("http://pageasp/Req_Qb.asp?idsite=370&idequipe=5009965")
Do Until IE.readyState = 4
DoEvents
Loop
'HlmSite.Value = 8
'HlmEquip.Value = "5009965"
Hlmddeb = "01/03/2008"
Hlmdfin = "31/03/2008"
Hlmgo.Click
End Sub
Mon problème survient à l'appel de la seconde page ASP :
("http://pageasp/Req_Qb.asp?idsite=370&idequipe=5009965")
ou je dois renseigner une zone date dont voici le code source de la page HTML (extrait)
input name="ddeb" type="text" class="formulaire" id="dateDebut" onfocus="view_microcal(true,dateDebut,microcal,-1,0);" onblur="view_microcal(false,dateDebut,microcal,-1,0);" onkeyup="this.style.color=testTypeDate(this.value)?'black':'red'" size="8" maxlength="10"
je tente de passer les valeurs par
Hlmddeb = "01/03/2008"
Hlmdfin = "31/03/2008"
les champs ne se remplissent pas. Et le problème persiste si je remplace la date par sa valeur numérique ou met des dièses.
Le second echec est la non validation de l'image fléche symbolisant la validation des données.
Extrait du code HTML
input name="go" type="image" src="../images/flechecarreedroite.gif" width="14" height="14"
ou j'use du code VBA Hlmgo.Click comme dans le cas de la première page.
Résumé
Comment passer les dates et valider la page ASP via l'image sybolisant une fléche par l'intermédiare du VBA excel.
Novice en la matière de programmation et malgré des lectures sur le forum, je ne parviens à boucler mon projet.
Projet:
Automatisation de la récupération de fichiers csv via excel VBA. Les fichiers sont générés sur un site en ASP (intranet) via la validation d'une suite de formulaires.
Voici le code (inspiration des pompages sur le forum)
Les liens html sont faux
les références vba microsoft HTML Object library et Internet Controle sont présents
Sub GeneFich()
Dim IE As Object 'InternetExplorer
Dim HlmIdent, HlmMdp, HlmBase, Hlmbouton, HlmOk, HlmSite, HlmEquip, Hlmddeb, Hlmdfin, Hlmgo As Object 'IHTMLElement
Dim MaPageHtml As Object 'HTMLDocument
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.navigate ("http://pageasp/ConnexCa.asp")
Do Until IE.readyState = 4
DoEvents
Loop
'Liste des paramètres des pages HTML
Set MaPageHtml = IE.document
Set HlmIdent = MaPageHtml.getElementsByName("login").Item
Set HlmMdp = MaPageHtml.getElementsByName("pwd").Item
Set HlmBase = MaPageHtml.getElementsByName("connexion").Item
Set HlmOk = MaPageHtml.getElementsByName("modifbase").Item
Set Hlmbouton = MaPageHtml.getElementsByName("Submit2").Item
Set HlmSite = MaPageHtml.getElementsByName("idsite").Item
Set HlmEquip = MaPageHtml.getElementsByName("idequipe").Item 'numéro de l'équipe
Set Hlmddeb = MaPageHtml.getElementsByName("ddeb").Item 'date de début
Set Hlmdfin = MaPageHtml.getElementsByName("dfin").Item 'date de fin
Set Hlmgo = MaPageHtml.getElementsByName("go").Item 'Image fléche de validation données
'Habilitation d'acces
HlmIdent.Value = "L'indentifiant"
HlmMdp.Value = "le mot de passe had-oc"
HlmBase.Value = "co"
HlmOk.Value = "ok"
Hlmbouton.Click
'Connexion sur la page d'une équipe
IE.navigate ("http://pageasp/Req_Qb.asp?idsite=370&idequipe=5009965")
Do Until IE.readyState = 4
DoEvents
Loop
'HlmSite.Value = 8
'HlmEquip.Value = "5009965"
Hlmddeb = "01/03/2008"
Hlmdfin = "31/03/2008"
Hlmgo.Click
End Sub
Mon problème survient à l'appel de la seconde page ASP :
("http://pageasp/Req_Qb.asp?idsite=370&idequipe=5009965")
ou je dois renseigner une zone date dont voici le code source de la page HTML (extrait)
input name="ddeb" type="text" class="formulaire" id="dateDebut" onfocus="view_microcal(true,dateDebut,microcal,-1,0);" onblur="view_microcal(false,dateDebut,microcal,-1,0);" onkeyup="this.style.color=testTypeDate(this.value)?'black':'red'" size="8" maxlength="10"
je tente de passer les valeurs par
Hlmddeb = "01/03/2008"
Hlmdfin = "31/03/2008"
les champs ne se remplissent pas. Et le problème persiste si je remplace la date par sa valeur numérique ou met des dièses.
Le second echec est la non validation de l'image fléche symbolisant la validation des données.
Extrait du code HTML
input name="go" type="image" src="../images/flechecarreedroite.gif" width="14" height="14"
ou j'use du code VBA Hlmgo.Click comme dans le cas de la première page.
Résumé
Comment passer les dates et valider la page ASP via l'image sybolisant une fléche par l'intermédiare du VBA excel.