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

Rechercher des sujets similaires à "vba variable retour fonction"