Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/01/2012, 11h29   #1
Membre habitué
 
Avatar de CODYCO
 
Homme
Webplanneur
Inscription : avril 2009
Messages : 141
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Webplanneur
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 141
Points : 144
Points : 144
Par défaut chemin de fichier sur serveur

Bonjour à tous.

Un de mes fichiers devant etre accessible à tous sur serveur à un chemin différent en fonction de l'utilisateur qui va l'ouvrir (question de droit d'acces).

par exemple pour le PC X le chemin sera:
\\serveur\Travail\dossier\fichier.xls

et pour le PC Y:
\\serveur\Travail@toto\dossier\fichier.xls

Le fichier final étant le même, mais les droit des machine n'y accède pas de la meme maniere.

J'ai donc dans un premier temps récupérer le "ShareName" du disque de partage et je recompose le chemin avec la partie commune:

Disque.sharename & "\dossier\fichier.xls ce qui donne
\\serveur\Travail\dossier\fichier.xls ou...

\\serveur\Travail@toto\dossier\fichier.xls
ce chemin étant affecter à une variable "chemin"

mais lors de mon ouverture de fichier:
Code :
1
2
 
Workbooks.Open (chemin)
Cela ne marche pas alors que si j'écris en dur la valeur de la variable ca marche...

Merci de vos lumieres
CODYCO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 12h08   #2
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
On ne sait jamais, enlève les parenthèse si tu ne récupères pas le workbook dans une variable.
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 15h34   #3
Membre habitué
 
Avatar de CODYCO
 
Homme
Webplanneur
Inscription : avril 2009
Messages : 141
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Webplanneur
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 141
Points : 144
Points : 144
Non ca ne marche pas...

J'ai trouver une fonction qui me donne le chemin UNC, ce qu'il me faut maintenant c'est l'inverse...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
Private Declare Function WNetGetConnection Lib "mpr.dll" Alias "WNetGetConnectionA" _
(ByVal lpszLocalName As String, ByVal lpszRemoteName As String, cbRemoteName As Long) As Long
 
 
 
Public Function fnctGetUNCPath(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
 
fnctGetUNCPath = strUNCPath
End Function
CODYCO est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h14.


 
 
 
 
Partenaires

Hébergement Web