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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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.
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
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.
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
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
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