fermer internet explorer avant exécution de la macro

Milmar

XLDnaute Nouveau
Bonjour j'utilise une macro qui me permet de naviguer dans des procédures stockée sur un serveur en intranet , serveur qui demande une authentification
voici la macro que j'utilise pour me log et lancé une macro qui recherche le document.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Valeur As Integer
Valeur = Range("C7").Value

If Not Application.Intersect(Target, Range("c7")) Is Nothing Then


Dim IE As Object 'InternetExplorer
Dim Helem As Object 'IHTMLElement
Dim MaPageHtml As Object 'HTMLDocument



Set IE = CreateObject("InternetExplorer.Application")

IE.Visible = True
IE.Navigate ("http://url d'intranet.com")

Do Until IE.ReadyState = 4
DoEvents
Loop
Set MaPageHtml = IE.Document

'Numéro d'abonné
Set Helem = MaPageHtml.getElementsByName("IDToken1").Item
Helem.Value = "log"

'mot de passe
Set Helem = MaPageHtml.getElementsByName("IDToken2").Item
Helem.Value = "pass"

Set Helem = MaPageHtml.getElementsByName("Login.Submit").Item
Helem.Click




If Valeur = 1 Then Run ("miseenserv")
If Valeur = 2 Then Run ("cloture")
If Valeur = 3 Then Run ("posesp")
If Valeur = 4 Then Run ("levsp")
If Valeur = 6 Then Run ("utilvt")
If Valeur = 7 Then Run ("ltv")
If Valeur = 8 Then Run ("modiltv")
If Valeur = 9 Then Run ("leveltv")
If Valeur = 10 Then Run ("accismatr")
If Valeur = 11 Then Run ("rentrateli")
If Valeur = 12 Then Run ("rentatcmscmr")
If Valeur = 13 Then Run ("sortieatel")
If Valeur = 14 Then Run ("utilmal")
If Valeur = 15 Then Run ("navvt")
If Valeur = 16 Then Run ("disporame")
If Valeur = 501 Then Run ("ksa")
If Valeur = 502 Then Run ("evac")
If Valeur = 503 Then Run ("doublepanatcbord")
If Valeur = 504 Then Run ("boubleato")
If Valeur = 505 Then Run ("simplatcto")
If Valeur = 506 Then Run ("unebalmanqu")
If Valeur = 507 Then Run ("deloc")
If Valeur = 508 Then Run ("delocdeuxbalise")
If Valeur = 509 Then Run ("simplatcsol")
If Valeur = 510 Then Run ("panneagi")
If Valeur = 511 Then Run ("PannetotalesecteurATC")
If Valeur = 512 Then Run ("PertetotaleliensecteurATCAGI")
If Valeur = 513 Then Run ("PertetotlienWBSBVS")
If Valeur = 514 Then Run ("eppoinbut")
If Valeur = 515 Then Run ("stmanquee")
If Valeur = 516 Then Run ("paneagicart")
If Valeur = 517 Then Run ("paninteragiatc")
If Valeur = 518 Then Run ("panagiagi")
If Valeur = 519 Then Run ("panagiats")
If Valeur = 520 Then Run ("pertinfoscdene")
If Valeur = 521 Then Run ("pantotlien")
If Valeur = 522 Then Run ("pertliensect")
If Valeur = 523 Then Run ("pertscadgare")
If Valeur = 524 Then Run ("indispomal")
If Valeur = 525 Then Run ("echecautomal")
If Valeur = 526 Then Run ("norecposmal")
If Valeur = 527 Then Run ("echseqlavage")
If Valeur = 528 Then Run ("PannetotATS")
If Valeur = 529 Then Run ("defalimarm")
If Valeur = 530 Then Run ("agiarmcvm")
If Valeur = 531 Then Run ("ouvdisjbt")
If Valeur = 532 Then Run ("fuitecoubt")
If Valeur = 533 Then Run ("pertliewbssect")
If Valeur = 534 Then Run ("simplefep")
If Valeur = 535 Then Run ("doublefep")
If Valeur = 536 Then Run ("Apsurcdvlibre")
If Valeur = 537 Then Run ("pretrahorap")
If Valeur = 538 Then Run ("pertecomatsats")
If Valeur = 539 Then Run ("pertservats")
If Valeur = 540 Then Run ("trsautst")
If Valeur = 541 Then Run ("echlevmaquats")
If Valeur = 542 Then Run ("retirecvoy")
If Valeur = 543 Then Run ("trermnonacces")
If Valeur = 544 Then Run ("trdelocsect")
If Valeur = 545 Then Run ("tradispsect")
If Valeur = 546 Then Run ("dcsunmaster")
If Valeur = 547 Then Run ("dcsswitch")
If Valeur = 548 Then Run ("dcsswitch")
If Valeur = 549 Then Run ("dcsswitch")
If Valeur = 550 Then Run ("panventiatc")
If Valeur = 551 Then Run ("traimuet")

End If
IE.Quit
End Sub

mon problème c'est que si une fenêtre d'internet explorer est déjà ouverte avec le log et pass,avant de lancer la macro ,elle plante ici

'Numéro d'abonné
Set Helem = MaPageHtml.getElementsByName("loginForm:user-name").Item
Helem.Value = "user"

'mot de passe
Set Helem = MaPageHtml.getElementsByName("loginForm:user-password").Item
Helem.Value = "pass"

Set Helem = MaPageHtml.getElementsByName("loginForm:submit").Item
Helem.Click

et il possible de faire fermer internet explorer en début de macro ?

meilleurs salutations
 

Milmar

XLDnaute Nouveau
Re : fermer internet explorer avant exécution de la macro

Bonjour MJ13 et merci
je viens de regarder ton fichier , et je ne crois pas que c'est ça qu'il me faut.
à vrais dire je me demandais s'il étais possible de mettre un truc du type

IF IE.open ( si ça existe )
IE.Quit
en début de macro.

saluatations
 

MJ13

XLDnaute Barbatruc
Re : fermer internet explorer avant exécution de la macro

Re Bonjour Hippolite

Sinon ce code il le fait (c'est ce que j'uiliserai en attendant de trouver mieux) mais il faut cocher la référence mise en Commentaire:

Code:
Sub Ferme_IE()
On Error Resume Next
fermerUneApplicationIE
End Sub
Sub fermerUneApplicationIE()
'necessite d'activer la reference Microsoft WMI Scripting Library
'testé avec Excel2002 et WinXP
'michelxld le 04.01.2005
Dim objProcess As WbemScripting.SWbemObject
Dim colProcessList As WbemScripting.SWbemObjectSet
Dim objWMIService As WbemScripting.SWbemServices
Dim strComputer As String
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.execQuery _
("Select * from Win32_Process Where Name = 'iexplore.exe'")
For Each objProcess In colProcessList
objProcess.Terminate
Next
End Sub
 

kiki29

XLDnaute Barbatruc
Re : fermer internet explorer avant exécution de la macro

Salut,
Code:
Private Sub Kill_IE()
Dim RetVal As Long
    '   Parametres Taskkill
    '   http://technet.microsoft.com/en-us/library/bb491009.aspx
    RetVal = Shell("Taskkill /im iexplore.exe /f", 0)
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 336
Messages
2 087 388
Membres
103 534
dernier inscrit
Kalamymustapha