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 :

Arborescence VBA position d'un lien


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 6
    Par défaut Arborescence VBA position d'un lien
    Bonjour à tous!

    Je commence tout juste en VBA et peut-être ma question est-elle évidente mais je n'ai rien trouvé pour l'instant!

    Je ne parviens pas à trouver la position d'un lien sur une page, qui me permettrait de cliquer dessus via VBA grâce à la commande suivante: ie.document.getElementsByTagName("a")(???).Click
    Toutes les suggestions sont les bienvenues et merci 1000 fois!

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2010
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 194
    Par défaut
    Bonjour,

    cela vas être difficile de vous aidez avec aussi peu de d'info !

    un de code, le lien de la page qui contient le lien, la méthode utilisée ou envisagée etc. bref tous ce qui peu aider à aider est le bien venu.

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 6
    Par défaut
    Oui bien sur, pardon!

    Alors entre temps j'ai trouvé un code qui devrait convenir a mon probleme (qui est donc de cliquer sur un lien qui n'a pas d'identifiant):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Dim IE As New InternetExplorer
    Dim IEDoc As HTMLDocument
    Dim DivParent As HTMLSelectElement
    Dim Enfants As HTMLSelectElement
    Dim Petits_Enfants As HTMLSelectElement
    Dim Flag As Boolean
     
    IE.navigate "https://www.qwant.com/?q=chiffre%20affaires%20societe.com%20sovitrat&t=all"
    IE.Visible = True
    WaitIE IE
    Set IEDoc = IE.document
    Application.Wait Time + TimeSerial(0, 0, 2)
    Set DivParent = IEDoc.getElementsByTagName("h3")(0)
    For Each Enfants In DivParent.Children
            If Enfants.innerText = "societe.com/societe" Then Enfants.Click: Flag = True: Exit For
        If Flag Then Exit For
    Next
    Set IE = Nothing
    End Sub
     
    Sub WaitIE(IE As InternetExplorer)
       Do Until IE.readyState = READYSTATE_COMPLETE
          DoEvents
       Loop

    J'aimerais cliquer sur le lien du premier résultat mais cela ne fonctionne pas, voici la page:

    https://www.qwant.com/?q=chiffre%20a...sovitrat&t=all



    Merci pour votre aide!

  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 De la bonne observation nait la solution …
    Bonjour,

    ce serait tellement plus simple en utilisant une classe d'un élément proche via   getElementsByClassName   …

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  6. #6
    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
    mauvaise nouvelle en exploration IE se ne sera tres dur because protection "on window" qui rend casi impossible une recuperation 100%conforme


    j'ai tester ca m'a rendu chevre
    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

  7. #7
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 1 133
    Par défaut
    bonjour,
    avec un WebBrowser,
    la collection de lien = WebBrowser.Links
    le nombre de lien = WebBrowser.Links.Length

    @+JP
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  8. #8
    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

    Aucun souci de mon côté comme exposé dans mon précédent post, surtout avec Qwant, trop facile ! …

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub DemoIE1a()
        With New InternetExplorer
                 .Navigate "https://www.qwant.com/?q=chiffre%20affaires%20societe.com%20sovitrat&t=all"
                 .Visible = True
                  While .Busy Or .ReadyState < READYSTATE_COMPLETE:  DoEvents:  Wend
            With .Document.getElementsByClassName("title")
                If .Length Then .Item(0).all(0).Click
            End With
        End With
    End Sub
    Ou encore en blindant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub DemoIE1b()
        With New InternetExplorer
                 .Navigate "https://www.qwant.com/?q=chiffre%20affaires%20societe.com%20sovitrat&t=all"
                 .Visible = True
                  While .Busy Or .ReadyState < READYSTATE_COMPLETE:  DoEvents:  Wend
            With .Document.getElementsByClassName("title")
                If .Length Then
                    With .Item(0).getElementsByTagName("A")
                        If .Length Then .Item(0).Click
                    End With
                End If
            End With
        End With
    End Sub
    ___________________________________________________________________________________________________________

         Merci de cliquer sur en bas à droite de chaque message ayant aidé puis sur pour clore cette discussion …

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

Discussions similaires

  1. [VBA-E]Copier un lien hypertexte d'une feuille à une autre
    Par DomBourti dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/04/2006, 17h01
  2. [VBA-E]Suivre un lien
    Par juanelcalor dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 12/04/2006, 14h23
  3. [VBA-E] Affecter un lien hypertexte au texte d'un cellule
    Par yaya54 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/03/2006, 09h38
  4. [VBA-E]copier un lien hypertexte sur Excel
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/02/2006, 18h22
  5. [VBA-E]enlever les liens d'une requete externe
    Par arnogef dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/02/2006, 14h21

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