Modifier un champ onChange javascript en VBA

BakaSeto Messages postés 3 Date d'inscription samedi 16 décembre 2000 Statut Membre Dernière intervention 20 avril 2009 - 20 avril 2009 à 10:13
Cooky3d Messages postés 1 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 7 septembre 2011 - 7 sept. 2011 à 11:59
Bien le bonjour !

Alors voila, mon pitit problème est le suivant : je dois créer pour une société tierce une application en VBA leur permettant de rentrer automatiquement des données dans une base placée sur un site net dont je ne peut pas modifier le code. Jusqu'ici, rien de bien méchant, mais c'est là que ça devient marrant. En effet, l'une des infos à rentrer est une date de rendue, et ce champ n'est modifiable que via un calendrier pop-up en Javascript.

Je voudrais donc savoir s'il existe un moyen de modifier ce champ en contournant (ou en utilisant) le calendrier js, et ce de manière totalement automatique (du style récupérer le code réponse du calendar js ou envoyer un message similaire à la case nommée plus haut...)

Voila en gros mon problème. J'espere de tout coeur reçevoir une réponse (même mauvaise, m'en fous >.<) aussi vite que possible, mes employeur sont pas chiants, mais j'aimerai pas les déçevoir pour mon premier saut dans le monde du travail...

4 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 avril 2009 à 11:07
a tenter: utilises la méthode FireEvent de ton objet, pour déclencher manuellement le onChange
0
BakaSeto Messages postés 3 Date d'inscription samedi 16 décembre 2000 Statut Membre Dernière intervention 20 avril 2009
20 avril 2009 à 11:17
Pourquoi pas, le temps de comprendre un peu le fonctionnement de FireEvent et je test. Résultat aussi vite que possible !^^
0
BakaSeto Messages postés 3 Date d'inscription samedi 16 décembre 2000 Statut Membre Dernière intervention 20 avril 2009
20 avril 2009 à 14:27
Bon, bah en fait c'était encore plus simple que ça...
Il suffisait d'accéder au champ et de le modifier... aucune sécurité...

Pitit bout de code :

    Dim maPageHtml As HTMLDocument
    Set maPageHtml = Browser1.document
    Dim Obj As HTMLFormElement

    Set Obj = maPageHtml.getElementById("ID_AU_PIF")
    Obj.innerText = "Date_voulue"

Après, y'a plus qu'à, comme dirait l'autre...
0
Cooky3d Messages postés 1 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 7 septembre 2011
7 sept. 2011 à 11:59
Bonjour,

J'ai actuellement un problème similaire.
Je dois rentrer sur la page web suivante : http://www.location-ski-moins-cher.com/ le jour, le mois et l'année. Or je dois mettre pour l'année "2012" si je veux pouvoir accéder à tous mes mois. Seulement il faut que je déclenche l'évènement Javascript "Click" pour que les mois se dégrisent.

J'ai essayé :
Public Sub NaviguerPageWeb()
'nécéssite d'activer la référence Microsoft HTML Objects Library
'nécéssite d'activer la référence Microsoft Internet Controls
Dim i As Integer
Dim IE As InternetExplorer
Dim maPageHtml As HTMLDocument
Dim Helem As IHTMLElementCollection
Dim Valider As IHTMLElementCollection

Set IE = CreateObject("internetExplorer.Application")
IE.Visible = True
IE.navigate "http://www.location-ski-moins-cher.com"
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop

Set maPageHtml = IE.document
Set Helem = maPageHtml.getElementsByTagName("select")
Set Valider = maPageHtml.getElementsByTagName("input")



For i = 0 To Helem.Length - 1
If Helem(i).getAttribute("name") = "catalog-date-y" Then 'catalog-date-y est le nom de la case pour entrer le mot ou la phrase à rechercher
Helem(i).selectedIndex = "1"
End If
Next i

maPageHtml.parentWindow.execScript "document.getElementById('catalog-date-m').fireEvent ('onChange')"

Mais sans succès!

Help
0
Rejoignez-nous