Bonjour,
Comment vérifier si le PC est connecté ou pas pour atteindre ce dossier "A:\Secteur Architectes" ?
Merci pour votre aide
Bonjour,
Comment vérifier si le PC est connecté ou pas pour atteindre ce dossier "A:\Secteur Architectes" ?
Merci pour votre aide
Hello,
en vérifiant si le dossier existe.
https://excel.developpez.com/actu/34...lippe-Tulliez/
Une adaptation
Attention : l'antislash de fin est obligatoire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Sub test() If Dir("A:\Secteur Architectes\") = "" Then MsgBox "Non connecté ou dossier inexistant" End Sub
JièL
Membre des AMIS
Anti Macro Inutilement Superfétatoire
Le dossier existe, mais n'est pas atteignable si la connexion VPN n'est pas établie
Avec le code ci-dessus, Excel ne répond pas et se fige jusqu'à ce que la connexion soit établie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Sub test() If Dir("A:\Secteur Architectes\") = "" Then MsgBox "Non connecté ou dossier inexistant" End Sub
Ah ?
Donc le lecteur A: existe en permanence ?
Un clic sur A: à partir de l'explorateur sans que le VPN soit actif donne quoi ?
Edit :
Vous pouvez tester ce code ?
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 Sub VPN_OK() Dim FSO As Object Dim Drive As Object Set FSO = CreateObject("Scripting.FileSystemObject") Set Drive = FSO.GetDrive("A:\") If Drive.IsReady Then MsgBox "Connexion VPN OK" Else MsgBox "La connesion VPN n'est pas active" End If End Sub
JièL
Membre des AMIS
Anti Macro Inutilement Superfétatoire
Bonjour,
une solution serait d'inspecter les connexions réseau.
Voici une fonction qui retourne l'état actif ou non d'un VPN, dès lors qu'on en connait sa description.
Pour l'obtenir : aller dans l'invite de commande en ligne (taper "cmd" dans la barre de recherche windows) et utiliser la commande "ipconfig /all"
On obtient une liste qui contient notamment le logiciel utilisé pour créer le tunnel VPN.
Noter le nom de la ligne "description", et l'utiliser comme constante de MonVPN de la fonction
Dans cet exemple, testé avec mon VPN activé
Qu'on peut ensuite utiliser pour tester :
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 Function EstActifVPN() As Boolean Dim WMIService, ListeServices, Service ' ICI mettre la description du VPN utilisé Const MonVPN As String = "Cisco AnyConnect Secure Mobility Client Virtual Miniport Adapter for Windows x64" Set WMIService = GetObject("winmgmts:\\.\root\CIMV2") Set ListeServices = WMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration", , 48) For Each Service In ListeServices If Service.Description = MonVPN Then EstActifVPN = Service.IPEnabled Exit For End If Next Service End Function
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub Toto() If EstActifVPN Then MsgBox "Le VPN est actif" Else Msgbox "Le VPN est inactif" End if End Sub
@joe.levrai tu peux vérifier si le code que j'ai donné au #4 est valable steuplé ?
Je n'ai pas de VPN, je ne peux donc pas le tester, mais c'est pour mon info personnelle, merci.
JièL
Membre des AMIS
Anti Macro Inutilement Superfétatoire
Ca fonctionne également, et c'est beaucoup plus simple.
En revanche, à voir si c'est générique, car pour ma part les lecteurs se mappent uniquement quand j'ouvre le tunnel
Partager