Connexion à internet et remplissage des champs VBA

Jeremyy

XLDnaute Occasionnel
bonjour a tous les forumeurs,

j'ai un petit problème, j'utilisais ce code auparavant sous 2003 mais aujourd'hui je suis sous 2007 mais cela ne marche plus et je ne comprend pas car je ne connais pas du tout comment sa fonctionne avec internet explorer.

Code:
Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 20/03/2009 par benoit



'Aciver la référence Microsoft Internet Controls
Dim sUrl$
Dim IE As Object
Dim login$, password$, key$

login = Cells(10, 3)
password = Cells(11, 3)
key = Cells(12, 3)

'pour essai :
login = "aaa"
password = "bbbbb"
key = "ccccc"

    sUrl = "https://v3.phonevalley.com/smsV3/"

    Set IE = CreateObject("InternetExplorer.Application")

  
        IE.Visible = True 'Mettre à False pour ne pas afficher la fenêtre.
        '.Silent = True 'Evite les messages d'IE
        IE.Navigate sUrl

        '---------!!!!! Ici deja il ne sort pas de la boucle !!!!!--------'
        'Attend que la page soit chargé
        Do Until IE.ReadyState = 4
            DoEvents
        Loop
        
        '
        'Renseigne les différents formulaire de la page
        IE.document.all("login").Value = login
        IE.document.all("password").Value = password
        IE.document.all("key").Value = key

        'Simule le click sur le bouton Valider
        IE.document.all("valid").Click

        'Attend que la page soit chargée
        Do Until IE.ReadyState = 4
            DoEvents
        Loop

    
End Sub

merci d'avance a tous
 

Mytå

XLDnaute Occasionnel
Re : Connexion à internet et remplissage des champs VBA

Salut le forum

Jeremy, j'ai eu le même problème sous Vista, Internet Explorer 7 avec Excel 2007

La solution passe par cette fonction
Code:
Public Function IE7Navigate(strURL As String) As SHDocVw.InternetExplorer
Dim theSHD As SHDocVw.ShellWindows
Dim IE7 As SHDocVw.InternetExplorer
Dim i As Long
    
    Set theSHD = New SHDocVw.ShellWindows
    For i = 0 To theSHD.Count - 1
        Set IE7 = theSHD.Item(i)
        If IE7.LocationURL = strURL Then
            IE7.Quit
        End If
    Next
    
    Set IE7 = New SHDocVw.InternetExplorer
    IE7.navigate strURL
    Do
        Set theSHD = New SHDocVw.ShellWindows
        For i = theSHD.Count - 1 To 0 Step -1
            Set IE7 = theSHD.Item(i)
            If IE7.LocationURL = strURL Then Exit Do
        Next
    Loop
    IE7.Visible = True
    Do Until IE7.readyState = READYSTATE_COMPLETE
        DoEvents
    Loop
    Do Until IE7.document.readyState = "complete"
        DoEvents
    Loop
    Set IE7Navigate = IE7
      
End Function
En remplacant dans ta macro les lignes
Code:
    Set IE = CreateObject("InternetExplorer.Application")

  
        IE.Visible = True 'Mettre à False pour ne pas afficher la fenêtre.
        '.Silent = True 'Evite les messages d'IE
        IE.Navigate sUrl

        '---------!!!!! Ici deja il ne sort pas de la boucle !!!!!--------'
        'Attend que la page soit chargé
        Do Until IE.ReadyState = 4
            DoEvents
        Loop
par
Code:
Set IE = IE7Navigate(sUrl)
Mytå
 
Dernière édition:

Discussions similaires

Réponses
8
Affichages
668

Statistiques des forums

Discussions
312 379
Messages
2 087 761
Membres
103 661
dernier inscrit
fcleves