Bonjour à tous !

J'ai un petit problème avec Excel et VBA.
Actuellement dans le code d'un formulaire j'utilise le code suivant dans le but de récupérerle chemin unc d'un lecteur réseau :

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
16
17
18
19
20
21
-----------------------------------------------------------------------
Private Declare Function WNetGetConnection Lib "mpr.dll" Alias "WNetGetConnectionA" (ByVal lpszLocaName As String, _
ByVal lpszRemoteName As String, cbRemoteName As Long) As Long
-----------------------------------------------------------------------
Public Function GetUNCPath(ByVal PathName As String) As String
 
Const MAX_UNC_LENGTH As Integer = 512
Dim strUNCPath As String
Dim strTempUNCName As String
Dim lngReturnErrorCode As Long
 
strTempUNCName = String(MAX_UNC_LENGTH, 0)
lngReturnErrorCode = WNetGetConnection(Left(PathName, 2), strTempUNCName, MAX_UNC_LENGTH)
 
If lngReturnErrorCode = 0 Then
strTempUNCName = Trim(Left(strTempUNCName, InStr(strTempUNCName, vbNullChar) - 1))
strUNCPath = strTempUNCName & Mid(PathName, 3)
End If
 
GetUNCPath = strUNCPath 
End Function
Je cherche à obtenir le chemin unc suivant : \\Isafile\Perso\fgouv\
en fournissant à la fonction la chaine : "x:\"
Si le poste que j'utilise possède excel 2007 j'ai le bon chemin unc, par contre Sur un poste utilisant excel 2003 je récupère la valeur' "\"
Si sur le poste de tests les deux version d'excel ont été installé je récupère là aussi le chemin complet.

Quelqu'un pourait me dire comment récupérer dans tout les cas la même chaine ?

Merci encore