VBA - variable de retour d'une fonction
Bonjour,
Je suis l'autrice du sujet https://forum.excel-pratique.com/post394714.html#p394714
J'ai pense avoir trouvé la solution a mon problème, mais comme je débute le VBA j'ai encore du mal avec le retour des variables.
Du coup, je tente de retourner ma page internet explorer, mais je n'arrive pas ^^'
J'ai tenté en retournant la page html aussi,
J'ai ce genre d'erreur : (
=>quand je tente de retourner ma page html
erreur 91
Variable objet ou variable de bloc with non définie
J'image que c'est une erreur de ma part. Mais j'ai du mal à voir quoi x)
erreur 450
Nombre d'arguments incorrect ou affectation de propriété incorrecte
Sub test2()
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
Dim IEDoc As HTMLDocument
IE.Visible = True
IE.navigate ("url")
Sleep 2000
Dim IE2 As Object
Set IE2 = CreateObject("InternetExplorer.Application")
IE2.Visible = True
IE2 = rechercherPage("welcome")
OU
IEDoc = rechercherPage("welcome")
End Sub
'Cherche si l'url d'une page correspond à la chaine de caractère envoyé
Function rechercherPage(nomPage As String) As Object
'Nécessite d'activer la référence
'"Microsoft Internet Controls"
'et
'"Microsotf HTML Object Library"
Dim trouve As Boolean
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
Dim IE_return As Object
Set IE_return = CreateObject("InternetExplorer.Application")
Dim winShell As New ShellWindows
Dim maPageHtml As HTMLDocument
'Initialisation
Dim i As Integer
i = 0
trouve = False
On Error Resume Next
For Each IE In winShell
i = i + 1
Set maPageHtml = IE.document
'MsgBox "page : " & maPageHtml.url & " -Test : " & nomPage & "" & (InStr(maPageHtml.url, titre))
If (maPageHtml Is Nothing) Then
Else
If (InStr(maPageHtml.url, nomPage) <> 0) Then
IE_return = IE
'MsgBox "page : " & maPageHtml.Title
trouve = True
'MsgBox maPageHtml.url
Dim InputGoogleZoneTexte As HTMLInputElement
'Dim InputGoogleBouton As HTMLInputElement
Set InputGoogleZoneTexte = maPageHtml.all("name_input")
'On définit le texte que l'on souhaite placer à l'intérieur
InputGoogleZoneTexte.Value = "VBA Excel"
Set maPageHtml = Nothing
Else
End If
End If
Next
rechercherPage = IE_return
ou
rechercherPage = IE_return.document
ou
rechercherPage = maPageHtml (après l'avoir mit dans une variable)Il n'y a vraiment qu'un seul résultat de retourner.
Si vous pouviez m'aider, se serai super
Merci beaucoup pour le temps que vous allez passer dessus
Bonjour,
Sans regarder dans le détail... il me semble que tu as une fonction qui renvoie un objet, que tu affectes sans utiliser d'instruction Set.
Cordialement