Date : mardi 12 juin 2001 00:36 Bonsoir, Ci-dessous un petit kit de connexion-déconnexion à recopier dans un module standard. La procédure Connecte attend de détecter une connexion active avant de rendre la main. FS '======================= Public Const ERROR_SUCCESS = 0& Public Const APINULL = 0& Public Const HKEY_LOCAL_MACHINE = &H80000002 Public ReturnCode As Long Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" _ (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" _ (ByVal hKey As Long, ByVal lpValueName As String, _ ByVal lpReserved As Long, lpType As Long, _ lpData As Any, lpcbData As Long) As Long Private Declare Function InternetAutodial Lib "Wininet" _ (ByVal dwFlags As Long, ByVal hwndParent As Long) As Long Private Declare Function InternetAutodialHangup Lib "wininet.dll" _ (ByVal dwReserved As Long) As Long Sub Connecte() InternetAutodial 1, 0 While Not ActiveConnection Wend MsgBox "connecté" End Sub Sub DéConnecte() InternetAutodialHangup 0& End Sub Public Function ActiveConnection() As Boolean Dim hKey As Long Dim lpSubKey As String Dim phkResult As Long Dim lpValueName As String Dim lpReserved As Long Dim lpType As Long Dim lpData As Long Dim lpcbData As Long ActiveConnection = False lpSubKey = "System\CurrentControlset\Services\RemoteAccess" ReturnCode = RegOpenKey(HKEY_LOCAL_MACHINE, lpSubKey, phkResult) If ReturnCode = ERROR_SUCCESS Then hKey = phkResult lpValueName = "Remote Connection" lpReserved = APINULL lpType = APINULL lpData = APINULL lpcbData = APINULL ReturnCode = RegQueryValueEx _ (hKey, lpValueName, lpReserved, lpType, ByVal lpData, lpcbData) lpcbData = Len(lpData) ReturnCode = RegQueryValueEx _ (hKey, lpValueName, lpReserved, lpType, lpData, lpcbData) If ReturnCode = ERROR_SUCCESS Then If lpData = 0 Then ActiveConnection = False Else ActiveConnection = True End If End If RegCloseKey (hKey) End If End Function '======================= toncou a écrit : > > Bonjour, > 1-A partir d'une macro Excel je lance une connexion avec runDll32 et > RnaDial. Pour la fermer par contre je ne trouve pas la commande. A votre bon > coeur. > 2-Existe-t-il un moyen d'interrompre la macro (autrement qu'avec > Wait)jusqu'à ce que la connexion soit effective. Quel est l'évènement à > détecter. > Merci de vos réponses -- Frédéric Sigonneau Gestions de temps, VBA pour Excel http://perso.wanadoo.fr/frederic.sigonneau