Commander internet explorer via vba ? (bouton valider)

doublenico

XLDnaute Junior
Bonjour à tous,

Je dispose d'une macro qui me permet d'ouvrir et de fermer un par un chaque document à partir d'une liste dans mon document maître (1er doc en A1, 2eme en A2; 3eme en A3...)
Pour le moment j'ouvre toujours mes documents en lecture maus j'aurai besoin d'ouvrir mon fichier maître en modification sur mon serveur intranet.

Quand je prends un document en modification, je dois valider un formulaire IE en cliquant sur valider (cf : capture d ecran jointe) une fois mon document enregistrer et fermer.

Question : comment en VBA prendre la main sur cette page IE et "cliquer " sur valider?

Merci d'avance une nouvelle fois pour votre aide.


Pour info ma macro (obtenu grace à votre aide sur ce forum!)
Sub Ouverture()
Dim a As Variant, Nom As String
Nom = ActiveWorkbook.Name
' Columns("f:f").ClearContents
On Error GoTo suite
Application.ScreenUpdating = True
nbfich = Workbooks(Nom).Sheets(1).Range("b65536").End(xlUp).Row
lig = Workbooks(Nom).Sheets(1).Range("f65536").End(xlUp).Row 'position de la ligne recevant les données
If lig > 1 Then lig = lig + 1 'astuce pour utiliser la première ligne
For nbf = 1 To nbfich 'nombre de fichiers à ouvrir
a = Sheets(1).Cells(nbf, 2).Value 'noms des fichiers à ouvrir en feuille 1 colonne 2
Workbooks.Open a 'ouverture du fichier
Workbooks(Nom).Sheets(1).Cells(lig, 6) = Sheets(1).Cells(1, 1).Value 'exemple de traitement
'n = Len(a) - InStrRev(a, "\") 'recherche du slash
'b = Right(a, n) 'procédure pour connaitre le nom du fichier
If ActiveWorkbook.Name = Workbooks(Nom).Name Then GoTo plus
ActiveWorkbook.Close
plus: 'Workbooks(b).Close 'fermeture du fichier
Workbooks(Nom).Activate 'retour au fichier de commande
reprise:
lig = lig + 1 'incrémentation de la ligne
Next
Application.ScreenUpdating = True
Workbooks(Nom).Activate
Exit Sub
suite:
n = Len(a) - InStrRev(a, "\")
b = Right(a, n)
If Err.Number = 1004 Then MsgBox " Le fichier " & b & " n'est pas présent ICI : " & a
Resume Next: GoTo reprise
End Sub
 

Pièces jointes

  • macro.jpg
    macro.jpg
    30.8 KB · Affichages: 407
  • macro.jpg
    macro.jpg
    30.8 KB · Affichages: 489
  • macro.jpg
    macro.jpg
    30.8 KB · Affichages: 487

doublenico

XLDnaute Junior
Re : Commander internet explorer via vba ? (bouton valider)

Je vais essayer d'expliquer de nouveau.
Lorsque j'ouvre un document depuis excel en modification depuis mon intranet, mon document excel s'ouvre en modification (pas en lecture) et une fenêtre internet explorer se lance en même temps.
Une fois que j'ai fais les modifications dans mon fichier, je l'enregistre et le ferme et je dois cliquer sur le bouton valider de la page internet explorer (capture d'écran).
Mon système documentaire est en java donc à priori c'est du java qui est généré dans IE, je cherche à pouvoir cliquer sur le bouton valider.
 

Davidc57

XLDnaute Occasionnel
Re : Commander internet explorer via vba ? (bouton valider)

Voici un bout de code, essaye de t'en sortir avec ca... sinon dit moi où tu coinces ...

Code:
Sub test()

Dim IE
Set IE = CreateObject("InternetExplorer.Application")

IE.Visible = 1
IE.navigate "http://www.adresse_URL_de_la_page_web"
Do Until IE.readyState = 4 
DoEvents
Loop

Set ObjectIE = IE.document.Forms(0)
ObjectIE.submit

End Sub

David
 

doublenico

XLDnaute Junior
Re : Commander internet explorer via vba ? (bouton valider)

J'ai le message suivant en pas à pas :
Erreur d'exécution '-2147417848 (80010108)'
Erreur Automation

ou
Erreur d'execution "91" variable objet de bloxc with non définie !

Ca bloque là :
Set ObjectIE = IE.document.Forms(0)
ObjectIE.submit
 

Davidc57

XLDnaute Occasionnel
Re : Commander internet explorer via vba ? (bouton valider)

Au fait as-tu coché la (les) reference(s) approprié ?

Dans VBE :
Tools / Reference / Microsoft HTML Object Librairy - Celle ci je suis certain qu'elle doit être coché
Tools / Reference / Microsoft Internet Controls - celle ci je suis pas certain mais fait le au cas où

Désolé j'ai les référence en anglais car mon excel est en anglais



Autre chose, peux-tu éditer le code source de ta page web et repérer le nom de l'objet bouton qu'il faut valider automatiquement ?
Après tu peux essayer ceci :

Set ObjectIE = IE.document.getElementById("form_login_password") ' Remplace form_login_password par le nom de ton objet bouton
ObjectIE.Click


Bon courage
 

Discussions similaires

Statistiques des forums

Discussions
312 322
Messages
2 087 286
Membres
103 507
dernier inscrit
tapis23