OVH Cloud OVH Cloud

Lecteur réseau inaccessible...

2 réponses
Avatar
Frédéric
Bonjour,
Dans une macro VBA, j'ai besoin d'accéder à un fichier qui se trouve sur le
réseau d'entreprise.
Avant de tenter d'ouvir le dit fichier, je vérifie qu'il se trouve bien au
chemin spécifié via l'instruction "Dir(I:\chemin_réseau...)", car il existe
plusieurs lecteurs réseau, qui en plus peuvent avoir des lettres différentes
selon les postes de travail.
Le souci, c'est que si le poste n'est pas connecté au réseau, cette
instruction génère une erreur!
Est ce qu'il existe un moyen pour vérifier si un lecteur réseau est
disponible, avant de tenter de lire ou d'écrire sur celui-ci? Cela me
permettrait d'émettre un message du type "lecteur X inaccessible..."
Merci

2 réponses

Avatar
Jacques93
Bonjour Frédéric,

Si le mappage réseau varie suivant les postes tu peux utiliser un nom
UNC, et ajouter un gestion d'erreur :

Dim s As String

On Error Resume Next
Err.Clear
s = Dir("NomMachineCheminNomFichier")
If Err.Number <> 0 Then
MsgBox "Dossier non accesssible"
Exit Sub
End If
On Error GoTo 0



Bonjour,
Dans une macro VBA, j'ai besoin d'accéder à un fichier qui se trouve sur le
réseau d'entreprise.
Avant de tenter d'ouvir le dit fichier, je vérifie qu'il se trouve bien au
chemin spécifié via l'instruction "Dir(I:chemin_réseau...)", car il existe
plusieurs lecteurs réseau, qui en plus peuvent avoir des lettres différentes
selon les postes de travail.
Le souci, c'est que si le poste n'est pas connecté au réseau, cette
instruction génère une erreur!
Est ce qu'il existe un moyen pour vérifier si un lecteur réseau est
disponible, avant de tenter de lire ou d'écrire sur celui-ci? Cela me
permettrait d'émettre un message du type "lecteur X inaccessible..."
Merci



--
Cordialement,

Jacques.

Avatar
Frédéric
En fait je viens de trouver une facon de faire, avec l'instruction IsReady,
comme précisé dans l'aide VBA :

Sub ShowDriveInfo(drvpath)
Dim fs, d, s, t
Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(drvpath)
Select Case d.DriveType
Case 0: t = "Unknown"
Case 1: t = "Removable"
Case 2: t = "Fixed"
Case 3: t = "Network"
Case 4: t = "CD-ROM"
Case 5: t = "RAM Disk"
End Select
s = "Drive " & d.DriveLetter & ": - " & t
If d.IsReady Then
s = s & vbCrLf & "Drive is Ready."
Else
s = s & vbCrLf & "Drive is not Ready."
End If
MsgBox s
End Sub


Bonjour,
Dans une macro VBA, j'ai besoin d'accéder à un fichier qui se trouve sur le
réseau d'entreprise.
Avant de tenter d'ouvir le dit fichier, je vérifie qu'il se trouve bien au
chemin spécifié via l'instruction "Dir(I:chemin_réseau...)", car il existe
plusieurs lecteurs réseau, qui en plus peuvent avoir des lettres différentes
selon les postes de travail.
Le souci, c'est que si le poste n'est pas connecté au réseau, cette
instruction génère une erreur!
Est ce qu'il existe un moyen pour vérifier si un lecteur réseau est
disponible, avant de tenter de lire ou d'écrire sur celui-ci? Cela me
permettrait d'émettre un message du type "lecteur X inaccessible..."
Merci