ouvrir un nouvel onglet sous IE via vba

  • Initiateur de la discussion Initiateur de la discussion kenshiro
  • Date de début Date de début

kenshiro

XLDnaute Nouveau
Hello a tous,

Voilà je viens de me mettre dans le pilotage d' Internet Explorer depuis VBA.
Et j'avoue que les post de Michel mon super bien aider je vous invite a jetter un coup d'oeil.
https://www.excel-downloads.com/threads/ref-wiki-page-7-de-michelxld.92375/

Voila j'utilise une de ces marco pour lister dans mon classeur XLS les liens présent sur une page web.

La commande :
maPageHtml.Links(y).Click

Me permet d'ouvrir le liens n° y

J'aimerais savoir s'il est possible ouvrir ce liens y dans un nouvel onglet IE plutot que de l'ouvrir dans l'onglet principal de navigation ?

Merci pour votre aide,

a+
 

vbacrumble

XLDnaute Accro
Re : ouvrir un nouvel onglet sous IE via vba

Bonjour


Test OK sous IE 7


Code:
Const openInTab = &H1000
Sub test()
Dim IE As InternetExplorer
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate2 "http://www.excel-downloads.com"
IE.Navigate2 "http://www.excel-downloads.com/forum/excel/", openInTab
End Sub
 

kenshiro

XLDnaute Nouveau
Re : ouvrir un nouvel onglet sous IE via vba

Cool mister vbacrumble,

Ca marche impect. Alors quelques petites questions complémentaires si tu le permet.
Connais tu les commandes pour :
> pointer vers un onglet n° x
> fermer un onglet n° z

Ca le ferai tip top.

Merci encore
 

vbacrumble

XLDnaute Accro
Re : ouvrir un nouvel onglet sous IE via vba

Re


Il semblerait que cela fonctionne aussi

(sauf que sur mon poste trois instances d'IE s'ouvre )


Code:
Sub test2()
Dim IE 
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate2 "http://www.excel-downloads.com", 1
IE.Navigate2 "http://www.excel-downloads.com/forum/excel/", 2048
End Sub
 

kenshiro

XLDnaute Nouveau
Re : ouvrir un nouvel onglet sous IE via vba

Merci Crumble,

et bien pour le coup, en anglais ou en fraçais, j'ai rien trouvé pour fermer un onglet IE via excel sur ton lien. Déjà qu'en frenchie j'ai du mal tout seul :o

quelqun a t-il une idée ?

Thx
 

MichelXld

XLDnaute Barbatruc
Re : ouvrir un nouvel onglet sous IE via vba

Bonsoir

Pour fermer la dernière fenêtre IE qui a été ouverte :

Code:
'Nécessite d 'activer la référence
'Microsoft Internet Controls
Dim IE As InternetExplorer
Dim winShell As New ShellWindows
Set IE = winShell(winShell.Count - 1)
 
IE.Quit
Set IE = Nothing


pour identifier l'avant dernière fenêtre, utilise:
winShell.Count - 2


Un autre exemple qui boucle sur toutes les fenêtres IE ouvertes :

Code:
Dim IE As InternetExplorer
Dim winShell As New ShellWindows
 
Set IE = CreateObject("InternetExplorer.Application")
 
On Error Resume Next
For Each IE In winShell
    If IE.LocationURL <> "" Then MsgBox IE.LocationURL
    'IE.Quit 'option pour les fermer
Next IE


bonne soirée
michel
 

alaincarvalho

XLDnaute Nouveau
Re : ouvrir un nouvel onglet sous IE via vba

Bonjour à tous,
Je cherche depuis pas mal de temps comment me possitionner sur le second onglet d'une fenêtre IE.

Mon code est le suivant:

[...]

Set Plage = Sheets("Menu").[W1:W9]
Delay = 1
Set IE = New InternetExplorer
IE.Visible = True
On Error GoTo IEfermerOuErreur 'si on ferme le navigateur
i = 1
For Each Cel In Plage
'Ouvrir la page
If i = 1 Then
IE.Navigate Cel.Value
Else
IE.Navigate2 Cel.Value, 2048
End If
Next

'--------------------------------------- Deuxieme étape

Set maPageHtml = IE.Document '<================ cela fonctionne pour le 1er onglet uniquement

Set Helem = maPageHtml.getElementByID("xxx")
Helem.Value = Log_Pass.L_Mellon

Set Helem = maPageHtml.getElementByID("yyy")
Helem.Value = Log_Pass.P_Mellon

'--------------------------------------- Troisème étape


'Maintenant je souhaiterais me positionner sur le 2eme onglet pour effectuer la meme operation de "remplissage"
'Que dois je faire??

Set maPageHtml = IE.Document ne fonctionne que pour le premier onglet.


Merci,
Alain
 

Discussions similaires