Accèse fichier d'un serveur

zeltron

XLDnaute Occasionnel
Bonjour à tout le forum,

Voici mon problème:

J'ai un fichier sur un serveur: Fichier_TEST.xls

Le chemin de ce fichier est:\\Serv01\Dossier1\DossierB\Fichier_TEST.xls

Lorsque je veux y accéder "directement", lorsque je veux aller sur le serveur une fenêtre windows s'ouvre me demendant un login et un mot de passe. Une fois ce login et ce mot de passe renseignés je peux accéder à ce fichier tout au long de ma session ( si j'éteint mon pc et le rallume, ce login et ce mot de passe me seront redemandés).

A partir d'un userform d'un autre fichier excel, j'aimerais ouvrir ce fichier "Fichier_TEST.xls" qui se trouve sur le serveur.

Sur mon Userform j'ai donc ce code:

Private Sub CommandButton1_Click()
Workbooks.Open Filename:="\\Serv001\Dossier1\DossierB\Fichier_TEST.xls"
End sub

Je pensais que la fenêtre windows me demandant le login et le mot de passe s'ouvrirait, mais non, et mot code bug.

Donc comment puis-je modifier ma macro afin que la fenêtre windows demandant le login et le mot de passe puisse s'ouvrir? Ou bien même que la macro renseigne la fenêtre sur le login et le mot de passe en imaginant que le login serait "login1" et que le mot de passe serait "pass1"?

Je n'ai pas trouver de fil dans le forum sur ce problème, pouvez vous me donner un coup de main?

Vous remerciant par avance pour votre aide.

Cordialement

Zeltron
 

zeltron

XLDnaute Occasionnel
Re : Accèse fichier d'un serveur

Merci de vous pencher sur mon problème,

En fichier joint je vous ai mis les images de différentes fenêtres:

Image1: le fameuse fenêtre qui apparait quand je veux aller sur le serveur directement ( sans macro) pour aller ouvrir le fichier que je souhaite sur le serveur.

C'est cette fenêtre que je souhaiterais qui apparaisse lorsque je lance ma macro, là l'utilisateur saisirait le login et le mot de passe et la macro continuerait de s'exécuter afin d'aller ouvrir le fameux fichier que je souhaite, ou bien que la macro puisse renseigner cette fenêtre au niveau du login et du mot de passe automatiquement).

Image2, il s'agit de l'erreur VBA qui s'affiche lorsque j'utilise la méthode Follow Hyperlink.

Image3, il s'agit de l'erreur VBA qui s'affiche lorsque j'utilise la méthode Workbooks.Open Filename:="\\Serv001....

Une précision encore, si je renseigne une fois (en y allant directement) le login et le mot de passe de la fenêtre d'accès au serveur, là , la macro s'execute bien. Seulement, mon fichier avec ma macro est destiné à plusieurs utilisateurs et je ne souhaite pas qu'ils soit obligés d'aller accéder " à la main" auparavant au serveur, afin que par la suite la macro puisse fonctionner.
De plus, il est vrai que d'y aller une fois directement et de cocher "mémoriser mon mot de passe" serait une solution, cependant les pc peuvent changer parfois et la manip serait donc à refaire.

C'est pourquoi je souhaiterais qu'au lancement de ma macro qui a pour but d'aller ouvrir un fichier excel sur le serveur, soit la fenêtre (image1) d'accès au serveur apparaisse et l'utilisateur renseigne le login et le mot de passe et ensuite la macro continue ou qu'automatiquement la macro renseigne le login et le mot de passe (qui sont les même pour tout le monde) et s'execute jusqu'à la fin.

Je vous remercie d'avance pour votre aide qui me serait bien utile car là j'ai beau chercher dans tous les sens je ne trouve absolument pas une piste de solution, je commence à me demander d'ailleurs si il y en a une.

Merci encore

Cordialement

Zeltron
 

Pièces jointes

  • Type d'erreurs.zip
    38.3 KB · Affichages: 33

Staple1600

XLDnaute Barbatruc
Re : Accèse fichier d'un serveur

Bonjour

Deux macros pour se connecter à une ressource partagée

1)Tu peux utiliser : net use
Code:
Sub test1()
Shell ("net use \\Serv01\Dossier1\DossierB\ /user:domain\login motdepasse") 
End sub

2) autre solution
Activer la Référence : Microsoft Windows Scripting Runtime
Code:
sub connecte_lecteur_reseau()
Dim obj as Object 
Dim drive as variant 

set obj = CreateObject("Wscript.Network") 

on error resume next 
drive = obj.EnumNetWorkDrive("Z:") ' choisir une lettre pour le lecteur
if err.number = 0 Then 
on error goto 0 
' ici mettre le domaine , le login et le mot de passe
strUser = "DOMAIN\user" 
strPassword = "*****" 
bPermanent = False 

obj.MapNetworkDrive "Z:", 
"\\Serv01\Dossier1\DossierB\",bPermanent,strUser,strPassword 
end if
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Accèse fichier d'un serveur

Re


Toujours avec la référence Scripting Runtime
Code:
sub a_tester_car-moi_pas_en_reseau()
Set WshNetwork = CreateObject("WScript.Network")
On Error Resume Next
WshNetwork.RemoveNetworkDrive "S:"'ici mettre la lettre de ton choix
On Error GoTo 0
WshNetwork.MapNetworkDrive "S:", "\\Serv01\Dossier1\DossierB", false,"Utilisateur","MotdePasse"
Set WshNetwork = Nothing
End sub
 

Discussions similaires

Réponses
2
Affichages
210
Réponses
4
Affichages
657

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 020
dernier inscrit
Mzghal