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 :

Connexion VBA HTML : problème d'intéraction entre 2 pages HTML


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chargé d'études
    Inscrit en
    Mai 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'études

    Informations forums :
    Inscription : Mai 2015
    Messages : 27
    Par défaut Connexion VBA HTML : problème d'intéraction entre 2 pages HTML
    Bonjourà tous,

    Dans le cadre de mon travail, j'ai pour but d'utiliser un "robot" sur un site HTML où j'ai différentes étapes à valider. Tout se passe bien jusqu'à ce que je clique sur un lien qui m'ouvre une nouvelle page HTML où je dois renseigner des données sauf que dans mon code VBA (en gras) celui ci ne reconnait pas les zones de texte car je pense qu'il pointe toujours sur la première page HTML.
    Ma question est donc comment me placer sur cette nouvelle page pour qu'il puisse reconnaitre les zones à remplir (j'ai essayé en ouvrant l'URL de la deuxième page HTML mais cela ne fonctionne pas, il me faut une autre solution).
    J'espère avoir été assez clair. Merci à tous.

    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
    43
    44
    45
    46
    47
    48
    49
    Sub connexion()
    
    Dim IE As Object
    
    
    Set IE = CreateObject("InternetExplorer.Application")
    
    IE.Visible = True
    IE.navigate "mon site"
    
    While IE.readyState <> READYSTATE_COMPLETE Or IE.Busy = True
        DoEvents
    Wend
    
    IE.document.all("accesDirectGroupementUBean.cape").Value = "01180205"
    
    IE.document.all("accesDirectGroupement").Click
    
    
    While IE.readyState <> READYSTATE_COMPLETE Or IE.Busy = True
        DoEvents
    Wend
    
    
    IE.document.Links(10).Click
    
    While IE.readyState <> READYSTATE_COMPLETE Or IE.Busy = True
        DoEvents
    Wend
    
    
    IE.document.Links(14).Click
    
    While IE.readyState <> READYSTATE_COMPLETE Or IE.Busy = True
        DoEvents
    Wend
    
    
    IE.document.all("dateEffetUBean.dateEffet").Value = "01012015"
    
    IE.document.all("cape").Value = Cells(2, 1)
    
    IE.document.all("valider").Click
    
    While IE.readyState <> READYSTATE_COMPLETE Or IE.Busy = True
        DoEvents
    Wend
    
    End Sub

  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,

    vu la présentation légère et comme on ne peut accéder au site,

    reste le tutoriel Interaction avec Internet Explorer via VBA Excel



    _____________________________________________________________________________________________________
    Je suis Charlie - Je suis Bardo

  3. #3
    Membre averti
    Homme Profil pro
    Chargé d'études
    Inscrit en
    Mai 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'études

    Informations forums :
    Inscription : Mai 2015
    Messages : 27
    Par défaut
    Up

    Bonjour à tous,
    Toujours le même problème, je n'ai jamais trouvé de solutions et voilà que ça revient sur le tapis dans mon boulot. Si quelqu'un pouvait m'aider svp, ça serait cool

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


  5. #5
    Membre averti
    Homme Profil pro
    Chargé d'études
    Inscrit en
    Mai 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'études

    Informations forums :
    Inscription : Mai 2015
    Messages : 27
    Par défaut
    Bonjour,

    J'ai quasiment réussi à résoudre mon problème. Ma macro fonctionne quand je la lance en "pas à pas détaillé" mais pas quand je la lance normalement (j'ai une erreur d’exécution '438') mais je n'arrive pas à comprendre pourquoi. Si quelqu'un a une petite idée svp ? Ci dessous mon code VBA :

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    Sub WaitIE(IE As Object)
    While IE.readyState <> READYSTATE_COMPLETE Or IE.Busy = True
        DoEvents
        Wend
    End Sub
     
    Sub WaitIE2(IE2 As Object)
    While IE2.readyState <> READYSTATE_COMPLETE Or IE2.Busy = True
        DoEvents
        Wend
    End Sub
     
    Sub connexion()
     
    Dim IE As Object
    Dim IE2 As Object
     
    Set IE = CreateObject("InternetExplorer.Application")
     
    IE.Visible = True
    IE.navigate "http://sinistres-climats-gsu-pp.ra1.intra.groupama.fr/FRS_FSin/secours2EvtIndivFrs.do?FRS_Session_Id=YyvGr125BPL9r2ZtR0TmRhrhJ2Hg6MGQSVxsQj1DcCd8vQLzdwmy!1621211841&FrsIdPage=EVTINDIVSECOURS&FrsIdPage=EVTINDIVSECOURS&FRS_Session_Id=YyvGr125BPL9r2ZtR0TmRhrhJ2Hg6MGQSVxsQj1DcCd8vQLzdwmy!1621211841&valider=Valider&FrsLogin=SECOURS&FrsIdBOSigma=GSU"
     
    WaitIE IE
     
    IE.document.all("dasi4Nosi1Recherche").Value = "2016" & Range("e3")
    IE.document.all("rechercheSinistre").Click
     
    WaitIE IE
     
    IE.document.Links(6).Click
     
    WaitIE IE
     
    IE.document.all("1").Click
     
    WaitIE IE
     
    IE.document.all("listDesignationBean[0].checked").Click
     
    WaitIE IE
     
    IE.document.all("designExpert").Click
     
    WaitIE IE
     
    Set IE2 = trouver_ie_par_titre("FRS - Liste des experts missionnables")
    WaitIE2 IE2
     
    IE2.document.all("critereRecherche.nomep").Value = Range("c3")
    IE2.document.all("Rechercher").Click
     
    WaitIE2 IE2
     
    IE2.document.all("intervenantRecherche[0].indIntervSel").Click
     
    WaitIE2 IE2
     
    IE2.document.all("ValiderRecherche").Click
     
    End Sub
     
    Function trouver_ie_par_titre(titre As String) As Object
        Dim retour As Object
        Dim IE As New InternetExplorer
        Dim winShell As New ShellWindows
        Dim maPageHtml As HTMLDocument
     
        On Error Resume Next
     
        For Each IE In winShell
            If IE.LocationURL <> "" Then
                Set maPageHtml = IE.document
             If maPageHtml.Title = titre Then
             Set retour = IE
             End If
     
     
                Set maPageHtml = Nothing
            End If
        Next IE
        Set trouver_ie_par_titre = retour
    End Function

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

    Par contre pour celui se trouvant devant son code, rien qu'avec la ligne surlignée en erreur
    - n'étant même pas indiquée ici (cf règles du forum) alors faire appel à une voyante ! -
    et le message d'erreur lui-même il doit alors facilement comprendre pourquoi !

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/05/2010, 18h50
  2. [VBA-E]Problème de comparaison entre plusieurs colonnes
    Par JeanMikael dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 09/07/2007, 17h29
  3. [VBA-E]Problème Copier-Coller entre 2 classeurs
    Par Corlo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/05/2007, 14h31
  4. [HTML] Passage de paramètres entre 2 pages HTML
    Par marcandre dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 23/03/2007, 12h14
  5. [VBA E] Problème de lien entre textbox et cellule
    Par vanessaferraz dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 21/06/2006, 08h49

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