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 :

IE piloté par VBA = probleme de style: "Display" à exécuter [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 74
    Points : 59
    Points
    59
    Par défaut IE piloté par VBA = probleme de style: "Display" à exécuter
    Bonjour,
    J'avance petit à petit pour arriver à simuler le click sur les onglets, filtres de la page web ci dessous, tous ca depuis VBA:
    Je n'arrive pas à activer la selection du filtre "Home"
    Nom : Display Classement.png
Affichages : 431
Taille : 117,2 Ko
    Voici le code

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Sub anchors()
     
        Dim i As Long
        Dim IE As Object
        Dim IEDoc As Object
        ' Create InternetExplorer Object
        Set IE = CreateObject("InternetExplorer.Application")
        ' You can uncoment Next line To see form results
        IE.Visible = True 'tbc
     
        IE.navigate "https://www.whoscored.com/Regions/252/Tournaments/2/England-Premier-League" '13796
        ' Wait while IE loading...
        Do While IE.Busy
            Application.Wait DateAdd("s", 1, Now)
        Loop
    Set IEDoc = IE.document
     
     
    '******  All TAG "<a " under ID
    Dim htmlTabResultatFilter As IHTMLElementCollection
    Set htmlTabResultatFilter = IEDoc.getElementById("tournament-filter-standings").getElementsByTagName("a")
     
    Dim element As HTMLGenericElement
     
    For Each element In htmlTabResultatFilter
        Debug.Print element.innerText
        If element.innerText = "Overall" Then element.className = "option"
        If element.innerText = "Home" Then element.className = "option selected"
    Next
    'Solution 1: KO par le changement de Style
    IE.document.getElementById("standings-13796").setAttribute("Style") = "display: block;" 'display: block;
    IE.document.getElementById("standings-13796").setAttribute("Style") = "display: none;" 'display: block;
    IE.document.getElementById("standings-13796").setAttribute("Style") = "display: block;" 'display: block;
    'IE.document.getElementById("forms-13796").setAttribute("Style") = "display: block;"
     
    'Solution 2: KO par le refresh
       'IE.Refresh ca ne march pas car ca me remet les filtres par defaut
    'Solution 3: KO par le script
        IE.document.parentWindow.execScript "submitTransForm()", "JavaScript" 'KO, message d'erreur raised
        Set IE = Nothing
     
    End Sub
    Quelqu'un a t-il une idée?

    Merci d'avance
    Jerome

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 74
    Points : 59
    Points
    59
    Par défaut IE piloté par VBA: après sélection du filtre, la table ne se met pas à jour
    Bonsoir,

    J'essaye en tâtonnant j'ai cru avoir une par le biais des lists, mais ce bout de code ne marche pas.
    J'ai essayé avec différents ID aussi.
    J'y comprends rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'Listbox selected option => failed
    IE.document.getElementById("tournament-filter-standings").selectedIndex = 1
    IE.document.getElementById("tournament-filter-standings").FireEvent ("onchange")
    Si quelqu'un a un ou deux indices se sera avec plaisir

    Bonne nuit
    Jerome

  3. #3
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For Each Element In htmlTabResultatFilter
        If Element.innerText = "Home" Then
            Element.Click
            Exit For
        End If
    Next
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 74
    Points : 59
    Points
    59
    Par défaut IE piloté par VBA = probleme de table non mis à jour
    Bonjour mercatog,

    Milles merci pour ton retour!
    La solution est si simple que je me demande comment j'ai fait pour passer à coté!
    Je passe tellement de temps à lire/chercher les solutions sur les forums, que je suis parti sur des solutions à coté de la plaque
    Le truc c'est que le HTML, j'en ai jamais fait alors le piloter depuis VBA ca rend pas la tache plus simple
    Mais heureusement Qwazerty à fait une doc superbe "Interaction avec internet Explorer via VBA Excel", Merci à lui aussi également

    Encore Merci Mercatog

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

Discussions similaires

  1. Piloter le publipostage par VBA
    Par Microlog-PC dans le forum VBA Word
    Réponses: 7
    Dernier message: 24/06/2016, 17h04
  2. [XL-2007] Probleme de après l'enregitrement de fichiers compatibles par VBA excel
    Par Jessyline dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 13/07/2009, 16h38
  3. Probleme conversion PDF par VBA
    Par Raikko68 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/10/2008, 12h06

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