OVH Cloud OVH Cloud

Gérer l'accès à un disque réseau...

2 réponses
Avatar
Yvan
Bonjour,

Certains de mes fichiers sont stockés sur un des disques de notre serveur
sur un site différent.

Il arrive qu'après avoir été ouvert, la connexion réseau soit perdu et que
du coup l'enregistrement du fichier ne puisse se faire.

Je voudrais pouvoir gérer ce type d'erreur en indiquant à Excel que si
l'accès au serveur est impossible, qu'il fasse l'enregistrement sur un disque
local.

Quelle syntaxe utiliser ???

--
Merci pour vos réponses.

2 réponses

Avatar
FxM
Bonsoir,

Chez Frédéric pour le code (non testé pour l'application souhaitée).

@+
FxM


Attribute VB_Name = "TesterExistenceLecteur"

'tester l'existence d'un lecteur, y compris réseau

Private Declare Function GetLogicalDriveStrings Lib "kernel32" _
Alias "GetLogicalDriveStringsA" _
(ByVal nBufferLength As Long, _
ByVal lpBuffer As String) As Long

Private Function DriveExists(SDrive As String) As Boolean
'auteur inconnu, mpep (T. Ogilvy ?)
Dim tmp As String
Dim nBuffersize As Long

nBuffersize = GetLogicalDriveStrings(0&, tmp)
tmp = Space$(nBuffersize)
nBuffersize = Len(tmp)
If GetLogicalDriveStrings(nBuffersize, tmp) Then
DriveExists = InStr(1, tmp, SDrive, vbTextCompare)
End If

End Function

Sub Tester()
If DriveExists("K") Then
MsgBox "Le lecteur K: est connecté", vbInformation, "Info"
Else
MsgBox "Le lecteur K: n'est pas connecté", vbInformation, "Info"
End If
End Sub





Bonjour,

Certains de mes fichiers sont stockés sur un des disques de notre serveur
sur un site différent.

Il arrive qu'après avoir été ouvert, la connexion réseau soit perdu et que
du coup l'enregistrement du fichier ne puisse se faire.

Je voudrais pouvoir gérer ce type d'erreur en indiquant à Excel que si
l'accès au serveur est impossible, qu'il fasse l'enregistrement sur un disque
local.

Quelle syntaxe utiliser ???



Avatar
JB
Bonsoir,

En utilisant la gestion d'erreur:

unitéRéseau = "M:"
On Error Resume Next
ActiveWorkbook.SaveAs Filename:=unitéRéseau & "xx"
If Err <> 0 Then
'MsgBox Err
unitéLocale = "C:"
ActiveWorkbook.SaveAs Filename:=unitéLocale & "xx"
End If
On Error GoTo 0

Cordialement JB


Bonjour,

Certains de mes fichiers sont stockés sur un des disques de notre serve ur
sur un site différent.

Il arrive qu'après avoir été ouvert, la connexion réseau soit per du et que
du coup l'enregistrement du fichier ne puisse se faire.

Je voudrais pouvoir gérer ce type d'erreur en indiquant à Excel que si
l'accès au serveur est impossible, qu'il fasse l'enregistrement sur un disque
local.

Quelle syntaxe utiliser ???

--
Merci pour vos réponses.