Bonjour,

Je souhaite réaliser un fichier vbs qui me permet d'ouvrir dans plusieurs onglets Internet Explorer, des sites sécurisés (nécessite login et mot de passe).

Grace à l'aide de ce forum j'ai abouti à mon objectif, mais chaque nouvel onglet nécessite que la procédure du précédent soit achevée, ce qui est relativement long (entre 10 et 15 onglets).

Afin de remédier à cela, j'ai songé à la méthodologie suivante: Faire un vbs qui ouvre une instance IE, puis exécute d'autres fichiers vbs (un pour chaque onglet), ce qui permet d'avoir une connexion quasi simultanée de l'ensemble des sites sur l'instance IE.

Voici le code de mon fichier principal
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
Option Explicit
 
'Déclaration des variables
Dim IE
Dim Shell
Dim HandleIE
Dim Onglet1
 
'Définit l'objet WshShell qui permettra d'accéder aux fonctions du système
Set Shell= WScript.CreateObject("WScript.Shell")
 
'Ouvre une Instance d'internet explorer
Set IE = WScript.CreateObject("InternetExplorer.Application")
 
'Configuration d'Internet Explorer
IE.visible=True
IE.Silent = True
 
'Récupére le handle de l'Instance d'Internet Explorer
HandleIE = IE.HWND
 
'Exécution du fichier Onglet1.vbs 
Set Onglet1 = Shell.Exec ("WScript ""C:\...\...\Onglet1.vbs"" " & """" & HandleIE & """")
 
'Exécution du fichier Onglet2.vbs 
Set Onglet1 = Shell.Exec ("WScript ""C:\...\...\Onglet2.vbs"" " & """" & HandleIE & """")
 
'Exécution du fichier Onglet3.vbs ..... et ainsi de site pour tous les sites
 
'Libére la mémoire
Set Shell = nothing
set Onglet1 = nothing
Voici le code type pour chaque onglet

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
Option Explicit
 
'Déclaration des variables et constantes
Dim IE
Dim Shell, shellApp
Dim HandleIE
Dim FenIE ,shellwindows
Const AjoutOnglet = 2048
 
'Définit l'objet WshShell qui permettra d'accéder aux fonctions du système
Set Shell= WScript.CreateObject("WScript.Shell")
 
'Récupére le handle de l'Instance d'Internet Explorer
HandleIE = wscript.arguments(0)
 
'Définit l'objet Application qui permettra d'accéder aux applcations du système
Set shellApp = WScript.CreateObject("Shell.Application")
 
'Boucle sur l'ensemble des fenêtre IE pour trouver celle correspondante au HandleIE
Set shellwindows = shellApp.Windows
For Each FenIE in Shellwindows
	If FenIE.hwnd =  HandleIE Then
		Set IE=FenIE
		Exit for
	End If
Next
 
'Ouvre l'URL du site dans un nouvel onglet
IE.Navigate2 "www......com",AjoutOnglet
 
'ici le code de connexion avec login et mot de passe
 
'Libére la mémoire
Set shell = Nothing
Set shellwindows = Nothing
Set shellApp = Nothing
Set shellwindows = Nothing
J'arrive donc à renvoyer le handle de l'instance IE grâce aux arguments, faire une boucle pour récupérer l'instance précédemment ouverte (enfin je crois), mais malheureusement aucune réaction sur l'instance IE déjà ouverte, pas de création d'un nouvel onglet, ni de connexion sur l'url.

Si quelqu'un peut m'aiguiller, ce serait sympa, d'autant que je suis novice.
Merci à tous