Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Sélectionner dans une liste déroulante sur le web à partir de vb [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (lanannie)

jeudi 23 mars 2006 à 22:33:23 | Sélectionner dans une liste déroulante sur le web à partir de vb

lanannie

Bonjour,

Je cherche comment sélectionner un élément dans une liste déroulante qui se trouve sur une page web avec des frames à partir de VB. Je suis capable d'ouvrir ma page et de cliquer sur un bouton sur celle-ci mais je n'ai pas trouvé comment manipuler une liste déroulante.

Quelqu'un peut m'aider???

Merci!

Lanannie

samedi 25 mars 2006 à 01:40:42 | Re : Sélectionner dans une liste déroulante sur le web à partir de vb

rvblog

Membre Club
Salut Lanannie,

à partir de VB ou de VBScript?
Quand tu dis "de cliquer sur un bouton", envoie de touches clavier ou appel du CMD_Click?
si t'es en VBScript, il me semble que la sélection d'une combo ou d'une liste, c'est la propriété ListIndex (de 0 à ListCount-1, et la valeur -1 si pas de selection), elle est en lecture/ecriture.

à+,

rvblogn
Je veux ton bien... et je l'aurais


samedi 25 mars 2006 à 19:21:11 | Re : Sélectionner dans une liste déroulante sur le web à partir de vb

lanannie

Allo,

Merci de prêter attention à mon problème.

J'ai fait une application en VB6 qui navigue automatiquement sur un site web. Mais voilà, je suis capable d'ouvrir la page, de mettre mon user et mon password, de cliquer sur le bouton ok, de cliquer sur un lien mais je ne suis pas capable de sélectionner un élément d'une liste déroulante. Le tout doit se faire automatiquement sans l'intervention d'un usager.

Merci à l'avance...

Lanannie

samedi 25 mars 2006 à 22:45:01 | Re : Sélectionner dans une liste déroulante sur le web à partir de vb

rvblog

Membre Club
C'est encore moi,

je vais encore t'en demander, mais c'est parce que je vois que personne n'a l'air de répondre, pourtant ce n'est pas le genre de problème rare (j'ai pas dit pas compliqué). Donc, je pense qu'il te faut être encore plus explicite.
Pilotes-tu Internet Explorer (via AUTOMATION, ou autre) ou un navigateur exotique (genre FireFox, Opera ou NetScape, ou autres) et si c'est le cas, avec quelle méthode (API, sendKeys,...), ou utilises-tu un composant de Navigation (genre WebBrowser), ou suis-je devenu très vieux parce que c'est carrément autre chose? :)

tu vois, c'est pas pour t'embêter, mais des raisons au problème tel que tu le décris, et les solutions adaptées à celles que tu utilises, il y en a des tonnes,

à+, de te relire,

rvblogn
Je veux ton bien... et je l'aurais


samedi 25 mars 2006 à 23:18:38 | Re : Sélectionner dans une liste déroulante sur le web à partir de vb

lanannie

Allo,
 
Ça me fait plaisir de te donner plus de détails!

Voici des exemples de procédures d'accès à certains contrôles de ma page web déclarées dans un module de classe:

Dim WithEvents IntExp As InternetExplorer  'pour gérer les événement IE
Dim WithEvents WebDoc As HTMLDocument  'pour gérer les événement IE.Document

' Pour cliquer sur un bouton
Public Sub ClickButton(ByVal argButtonName As String)
    On Error Resume Next
    WebDoc.All(argButtonName).Click
End Sub

' Pour remplir un champ comme une textbox
Public Sub FillField(ByVal argFieldName As String, ByVal argValue As String)
    On Error Resume Next
    WebDoc.All(argFieldName).value = argValue
End Sub

' Pour trouver une image et cliquer dessus
Public Sub ClickImage(ByVal argFrame As String, ByVal argImage As String)
    On Error Resume Next
    Dim image As HTMLImg
   
    For Each image In WebDoc.frames(CStr(argFrame)).document.images
        If Right(image.src, Len(argImage)) = argImage Then
            image.Click
            GoTo fin
        End If
    Next image
fin:
End Sub

' Pour trouver un lien et cliquer dessus
Public Sub ClickLien(ByVal argFrame As String, ByVal argLien As String)
    On Error Resume Next
    Dim lien As HTMLLinkElement
   
    For Each lien In WebDoc.frames(CStr(argFrame)).document.links
        If Right(lien, Len(argLien)) = argLien Then
            lien.Click
            GoTo fin
        End If
    Next lien
fin:
End Sub

Voici maintenant comment j'appelle mes procédures dans un module standard:

Sub Main()
      Dim IntExp As New IntExp

      With IntExp
            ...
            .FillField "Login", "UserName"
            .ClickButton "NomBouton"
            .ClickLien "NomFrame", "CheminLien"
            .ClickImage "NomFrame", "NomImage"
            ....
        End With
End Sub

Alors voilà, je veux choisir dans une liste déroulante qui se trouve dans un frame de ma page web.

J'espère que j'ai réussi à bien t'expliquer...

Merci encore!

Lanannie


dimanche 26 mars 2006 à 00:19:35 | Re : Sélectionner dans une liste déroulante sur le web à partir de vb

rvblog

Membre Club
Oui j'écoute :)

parfait! j'adore qu'on me parle comme ça!

dans ton WebDoc (de type HTMLDocument), tu dois trouver un .body (de type HTMLBody), et lui-même contient un .children (de type DispHTMLElementCollection), que tu peux donc énumérer, jusqu'à trouver un ou des .item (de type HTMLSelectElement).

Tu dois pouvoir solliciter la méthode .Click sur ces items là (de type HTMLSelectElement). Pour ceux là seulement, on est d'accord!

Bon, je n'ai pas ta page HTML, donc je ne connais pas exactement la hiérarchie body/frames/forms..., et donc je donne la structure générique (j'ai lu ton exemple, mais je ne l'ai pas reproduit). Ensuite, pour la liste déroulante, je pars de l'hypothèse que c'est une balise SELECT (mais ça pourrait être un activex MS, combobox, etc, que tu trouverais dans cette même collection, de type HTMLObjectElement).

Au fait, je trouve que ta méthode est douce, agréable à penser, et ...
diablement machiavélique ! S'il savait l'IE, ce que tu lui fait de l'intérieur !!!

rvblogn
Je veux ton bien... et je l'aurais


dimanche 26 mars 2006 à 00:36:06 | Re : Sélectionner dans une liste déroulante sur le web à partir de vb

rvblog

Membre Club
et évidemment, pris par l'émotion, j'en oublie :

un .item (de type HTMLSelectElement), contient lui-même un .children (de type HTMLOptionElement), dont tu peux lire le .index (démarre à 0), mettre le .Selected (à True), et solliciter le .Click!

à+

rvblogn
Je veux ton bien... et je l'aurais


dimanche 26 mars 2006 à 03:37:09 | Re : Sélectionner dans une liste déroulante sur le web à partir de vb

lanannie

Super !
Je teste ça et je t'en redonne des nouvelles!

Merci!
A+

Lanannie

dimanche 26 mars 2006 à 16:25:54 | Re : Sélectionner dans une liste déroulante sur le web à partir de vb

lanannie

Réponse acceptée !

Re-Bonjour,

Voilà ça fonctionne!!! Voici ma procédure:

Public Sub FormListe(ByVal argFrame As String, ByVal argListe As String, ByVal argId As String)
    On Error Resume Next
    Dim liste As HTMLSelectElement
       
    For Each liste In WebDoc.frames(CStr(argFrame)).document.All(CStr(argListe))
        If liste.id = CStr(argId) Then
            WebDoc.frames(CStr(argFrame)).document.All(CStr(argListe)).selectedIndex = liste.Options
            GoTo fin
        End If
    Next liste
fin:
End Sub

Tu m'as donné le bon type de variable à utiliser (HTMLSelectElement).
Merci pour tout!

A+

Lanannie


dimanche 26 mars 2006 à 21:16:55 | Re : Sélectionner dans une liste déroulante sur le web à partir de vb

rvblog

Membre Club
Bien content pour toi,
à+

rvblogn
Je veux ton bien... et je l'aurais



1 2

Cette discussion est classé dans : web, partir, liste, déroulante, sélectionner


Répondre à ce message

Sujets en rapport avec ce message

VBA - Sélectionner une valeur dans liste déroulante [ par Coudrak ] Comment puis-je dire de sélectionner la valeur n°x dans ma liste déroulante sous Access, en VBA donc..ListeIndex me donne celui qui est sélectionner, Liste déroulante à partir d'un fichier Excel [ par DeepXtaZy ] Bonjour,Je ne sais pas si je poste bien sur le bon forum...Je souhaiterais créer une liste déroulant sous word 97 à partir d'un fichier Excel 97 (Si c [access]sélectionner une ligne dans une liste déroulante [ par bractar ] Bonjour,J'aimerais qu'au chargement de mon formulaire, un champ d'une liste déroulante soit directement sélectionnée.je sais que pour une liste normal Filtrer une liste déroulante à partir d'une autre liste [ par tarbais ] Bonjour,Je voufrais dans un formulaire [saisie Z] après avoir selectionné dans ue liste déroulante (contrôle[Nom X]) filter les enregistrements dans u créer une liste déroulante dans excel à partir d'une base de donnée access [ par superguigui974 ] bonjour, j'aimerai creer une liste déroulante à partir d'une base de donnée access.la liste de donnée devrait proposé les éléments de ma table d'acces Liste déroulante sous Word [ par neorasupa ] Bonsoir à tous,Je suis actuellement en train de faire un formulaire "simple" (champs "Texte" et non "TextBox", "Listedéroulante" et non "Combobox") so compléter une zone de liste déroulante [ par mbricolo ] Bonjour,j'ai dans un fomulaire, une zone de liste déroulante, mais je voudrais que sur le click s'ouvre un autre formulaire en remplacement du déroula Liste déroulante dans un UserForm [ par Dominike ] Bonsoir à tous !J'avance à petits pas, mais souvent confronté à de petits soucis.Ce soir, j'ai créé un UserForm avec une liste déroulante alimenté trè Etat Access [ par heliosdiag ] J'ai un champ de liste déroulante de n° de projets.J'ai créé plusieurs états avec des regroupements des tris : pas de pbMais je n'arrive pas a visuali connexion à une bd access sur le web à partir d'une application vb [ par zenati_jaouad01 ] Je voudrais savoir si on peut se connecter à une base de données access hebergée dans le web à partir d'une application vb. si oui comment ?merci d'av


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,874 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.