Tester lecteur réseau (VBA)
Le
SylVBA
Bonsoir à vous,
Certaines de mes sub ne fonctionnent que si un des lecteurs réseau est
connecté
Je cherche à faire une petite fonction qui pourrait sinscrire en
début de certaines de mes sub, afin de vérifier si oui ou non le
lecteur réseau désigné est disponible
Pour le cas des commerciaux, quand ils ne sont pas au bureau, ils ne
sont pas connectés au réseau et donc la sub plante lamentablement !!!!
Je fais déjà des ChDrive (+ la lettre du réseau) du style
On error resume next
ChDrive "G
If err.number <> 0 then .. et donc cela évite le plantage, mais
quelque fois quand il nest pas connecté, la réponse est longue =
De plus il faudrait pouvoir mettre en argument la lettre du lecteur à
tester (« G » ou « I » ou « H » ou autre
Y a-t-il autre chose que ChDrive pour tester le lecteur réseau ?
Lidéal serait :
if testRéseau(« G ») = false then exit sub (il faudrait pouvoir
entrer la lettre si différente .
Votre gentillesse pourrait elle maider et me guider pour trouer LA
solution ?
Je vous remercie davance, je reste dans le coin et je pourrais même
le tester demain, car je bosse !!
Horrible un dimanche avant les fêtes !
Syl VBA
Certaines de mes sub ne fonctionnent que si un des lecteurs réseau est
connecté
Je cherche à faire une petite fonction qui pourrait sinscrire en
début de certaines de mes sub, afin de vérifier si oui ou non le
lecteur réseau désigné est disponible
Pour le cas des commerciaux, quand ils ne sont pas au bureau, ils ne
sont pas connectés au réseau et donc la sub plante lamentablement !!!!
Je fais déjà des ChDrive (+ la lettre du réseau) du style
On error resume next
ChDrive "G
If err.number <> 0 then .. et donc cela évite le plantage, mais
quelque fois quand il nest pas connecté, la réponse est longue =
De plus il faudrait pouvoir mettre en argument la lettre du lecteur à
tester (« G » ou « I » ou « H » ou autre
Y a-t-il autre chose que ChDrive pour tester le lecteur réseau ?
Lidéal serait :
if testRéseau(« G ») = false then exit sub (il faudrait pouvoir
entrer la lettre si différente .
Votre gentillesse pourrait elle maider et me guider pour trouer LA
solution ?
Je vous remercie davance, je reste dans le coin et je pourrais même
le tester demain, car je bosse !!
Horrible un dimanche avant les fêtes !
Syl VBA

Poser une question

Par exemple, à adapter :
Private Sub CommandButton1_Click()
Dim Drv As String
Drv = "X"
MsgBox Drv & " connecté : " & DriveConnected(Drv)
End Sub
Private Function DriveConnected(DriveLetter As String) As Boolean
DriveConnected = (InStr(GetNetworkDrives, DriveLetter) > 0)
End Function
Private Function GetNetworkDrives() As String
Dim WshNetwork As Object
Dim oDrives As Object
Dim Tmp As String
Set WshNetwork = CreateObject("WScript.Network")
Set oDrives = WshNetwork.EnumNetworkDrives
For i = 0 To oDrives.Count - 1 Step 2
Debug.Print "Drive " & oDrives.Item(i) & " = " & oDrives.Item(i + 1)
Tmp = Tmp & oDrives(i)
Next
Set oDrives = Nothing
Set WshNetwork = Nothing
GetNetworkDrives = Tmp
End Function
SylVBA a écrit :
--
Cordialement,
Jacques.
Merci cela fonctionne parfaitement,
J'ai adapté la ligne de test comme ceci:
If DriveConnected("G") = False Then MsgBox "Réseau non connecté ...
fonction indisponible..", vbCritical, "Fin du Process": Exit Sub
Il ne cherche QUE les lecteurs réseau, pas les disques dur externe ou
clés USB ?
Ton code est très bien, on aurait pas pu faire en une seule fonction ?
c'est vrai que je ne comprends pas tout dans la deuxième fonction,
mais je travaille
Au plaisir, je reste là !! (plantée devant MPFE comme souvent)
Un grand merci à vous les contributeurs, sans vous nous n'aurions pas
de petits secrest !!!
Syl VBA
On 6 déc, 22:48, Jacques93 wrote:
a écrit :
En fait cela renvoie les partages réseaux, cela peut donc être un
répertoire ou un disque local mappé. Si tu regardes la fenêtre de Debug
tu dois y voir quelque chose du genre :
X: = \Nom de machineNom de resource
Tu peux aussi obtenir ces informations avec la fonction NET USE dans une
invite de commande
Si, mais j'ai pris l'habitude de découper, ça simplifie la lecture je
trouve, et la mise au point ...
Pour la méthode EnumNetWorkDrives :
82 , On ne devrait jamais quitter Montauban ? ;-)
--
Cordialement,
Jacques.