Variable objet ou variable de bloc With non définie

Bonsoir à tous,

J'ai fait le code suivant avec pour but de remplir automatiquement le champ d'un formulaire dans une page Internet explorer puis lancer un clic automatique du bouton "OK"

Mais je reçois le message d'erreur suivant : "Variable objet ou variable de bloc With non définie"

Voici mon code

Dim IE As InternetExplorer 
Dim IEDoc As HTMLDocument
Dim InputPart As HTMLInputElement
Dim GoBnt AS HTMLInputElement 

Set InputPart = IEDoc.all("part")
'j'attribue un contenu au champ
InputPart.Value ="Texte"

Set GoBnt = IEDoc.all("btn")
'j'exécute le submit
GoBnt.click

NB: J'ai coché au préalable dans Outils/Références : "Microsoft HTML Object Library" et "Microsoft Internet Controls"

Merci

Bonsoir,

essaie en ajoutons les instructions surlignées en vert

Dim IE As newInternetExplorer 
Dim IEDoc As HTMLDocument
Dim InputPart As HTMLInputElement
Dim GoBnt AS HTMLInputElement 

IE.navigate "www.tonurl.fr"

Do Until IE.ReadyState = 4 ' READYSTATE_COMPLETE
      DoEvents
 Loop

set IEDoc=IE.document

Set InputPart = IEDoc.all("part")
'j'attribue un contenu au champ
InputPart.Value ="Texte"

Set GoBnt = IEDoc.all("btn")
'j'exécute le submit
GoBnt.click

J'ai ajouté, mais ca ne change rien

bonsoir,

sur quelle instruction reçois-tu le message d'erreur ? j'aurais dû commencer par çà

C'est sur celle là InputPart.Value ="Texte" je croi

le curseur se place dans le champ mais ne reçoit pas le texte rien donc je suppose que c'est elle qui bloque

Bonsoir,

tu pourrais recevoir ce message d'erreur, si l'élément "part" n'est pas trouvé dans la page HTML. Pour vérifier qu'il s'agit bien cela :

quand tu reçois ce message d'erreur, plutot que de cliquer sur terminer, choisis "déboguer" (je suppose que c'est le terme utilisé dans la version FR, tu pourras avoir confirmation de l'instruction qui pose problème (surlignée en jaune), puis si tu déplaces la souris sur Inputpart. si Nothing est affiché, ceci confirmera qu'il n'a pas trouvé "part".

En fait voici tout le code (le script permet de se connecter automatiquement à un compte sur le site avant de avant de remplir un champ)

Sub connexion()

    Dim IE As New InternetExplorer
    Dim IEDoc As HTMLDocument
    Dim partInput As HTMLInputElement
    Dim goBtn As HTMLButtonElement
    Dim cost As String
    Dim url As String

    'Set IE = CreateObject("InternetExplorer.application")
    IE.Visible = True
    url = "http://www.monurl.com"
    IE.Navigate (url)

     ' attente de fin de chargement
    Do Until IE.ReadyState = 4
         DoEvents
     Loop

    Set IEDoc = IE.document

'''''''''''''''''''''''''''
     'login
     Set user = IEDoc.all("user_login")
      user.Value = "login" 

     'password
     Set Password = IEDoc.all("user_mdp")
      Password.Value = "mdp" 

     'connexion
     Set login = IEDoc.all("OkLogin")
      login.Click

     Do Until IE.ReadyState = 4 
         DoEvents
     Loop

    Set partInput = IEDoc.all("part")
        partInput.Value = "Texte"

     Set goBtn = IEDoc.all("btn")
        goBtn.Click

End Sub

le problème est que dès que la connexion au compte est établie, l'url est modifié et le script apparemment n'arrive pas comprendre cela et a tendance à chercher mes éléments HTML sur l'url de départ. c'est ce que je pense mais je n'arrive pas à résoudre le problème

Rechercher des sujets similaires à "variable objet bloc definie"