IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème de click sur lien dans un webbrowser ! [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 16
    Par défaut Problème de click sur lien dans un webbrowser !
    Bonjour à tous !

    J'ai beau chercher tous les moyens possibles, je n'arrive pas à solutionner le problème suivant :
    J'ai lancé un site web dans un webbrowser, puis je veux cliquer sur un lien contenu dans celui-ci. J'ai donc utilisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim myLink As HtmlElement
    For Each myLink In WebBrowser1.Document.Links
        If myLink.innertext.Contains("Recap DM") Then
            WebBrowser1.Navigate (myLink.GetAttribute("href"))
        End If
    Next
    ... Dans un Private Sub. Ce code a l'air de bien fonctionner, mais j'ai le "HTMLElement" n'est pas du tout reconnu ("type définit par l'utilisateur non définit").

    => Savez-vous s'il faut déclarer quelque chose de spécial au préalable pour utiliser ce "HTMLElement" ?
    Je ne sais pas s'il y a un lien, mais dans la même macro, j'ai des "getElementById" qui fonctionnent nickel ! Une idée ?

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour,

    activer Microsoft HTML Object Library …

    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 16
    Par défaut
    J'avais bien activé cette librairie auparavant, mais il semble qu'elle avait disparu de la liste !
    J'ai dû la réinstaller, fermer Excel, puis réessayer, mais ça ne fonctionne toujours pas...Pourtant cette librairie et celle de Microsoft Internet controls sont bien affichees et selectionnees a present !

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim myLink
     For Each myLink In WebBrowser1.Document.Links
        If myLink.innertext.like "*" & "Recap DM" &"*"  Then  WebBrowser1.Navigate myLink.href
        End If
     Next
    ou bien encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    dim mesA
    with webbrowser1
    set mesA=.document.getelementsbytagname("a")
    for i= 0 to mesA.length
    if mesA(i).innertext like "*" & "Recap DM" &"*"  Then .navigate mesA(i).Href:exit for 
    next
    end  with
    ou bien encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    dim elem
    with webbrowser1
    for each elem in .document.all
    if elem.innertext like "*" & "Recap DM" &"*"  Then .navigate elem.Href:exit for
    next
    end with
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Citation Envoyé par Atomix85 Voir le message
    Pourtant cette librairie et celle de Microsoft Internet controls sont bien affichees et selectionnees a present !
    C'est donc une erreur dans la déclaration de la variable !

    La déclarer en Object dans un premier temps puis vérifier son type exact durant l'exécution via la fenêtre des Variables locales.

    Sinon tester sur un autre ordinateur …

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 16
    Par défaut
    Bon, déjà merci beaucoup à vous deux !
    Ensuite voici le résultat de l'application de tes différents codes dans ma macro, Patrick :
    - Le 1er me renvoie "Erreur de syntaxe" sur la 2eme ligne
    - Le 2eme FONCTIONNE NICKEL !!!
    - Le 3eme me renvoie l'erreur : "erreur 438 : Propriété ou méthode non gérée par cet objet" sur la 4eme ligne (sur ".navigate elem.href").

    Ce qu'il faut retenir, c'est que la solution est trouvée !! Merci encore, sujet résolu

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut
    re et oui le 3 eme je sais pourquoi il plante
    sui-je bete hein!!!

    en effet c'est un peu traitre la methode innertext

    exemple si tu a dans une page web
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <P><a Href="http....">toto</a></p>
    et que je fait
    msgbox .getelementsbytagname("p")(0).innertext
    il va me donner "toto" forcement
    donc pour la 3 eme ceci devrait marcher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    dim elem
    with webbrowser1
    for each elem in .document.all
    if  elem.tagname="a" and elem.innertext like "*" & "Recap DM" &"*"  Then .navigate elem.Href:exit for
    next
    end with
    voila voila vraiment des fois j'ai le cerveau en marmelade

    re
    et pour l'erreur du premier c'est de ma faute j'ai eu une crise de vache folle sur la touche"." il faut supprimer le point devant "like"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If myLink.innertext like "*" & "Recap DM" &"*"  Then  WebBrowser1.Navigate myLink.href
    et voila c'est fini
    tiens ca me rappelle une chanson ca !!!
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de click sur un lien hypertexte
    Par hachimuto dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 05/02/2014, 14h06
  2. Problème EventHandler Click sur LinkButton
    Par brazilia28 dans le forum ASP.NET
    Réponses: 14
    Dernier message: 28/04/2008, 13h32
  3. Problème de click sur la Form.
    Par Sixdeux dans le forum Windows Forms
    Réponses: 6
    Dernier message: 23/05/2007, 19h00
  4. Click sur lien et redirection [noob]
    Par Trystan dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 20/04/2006, 12h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo