Chemin complet d'un fichier

Bonjour le forum,

J'aurais besoin de savoir s'il existe une instruction en VBA qui permet de connaître le chemin complet d'un fichier.

En effet une de mes applications sert sur deux ordinateurs et pour que l'ordinateur "client" puisse fonctionner je dois marquer l'intégralité du chemin en "dur".

NomWb = ("\\SNELL-PC\Users\SNELL\Documents\Joseph\MAJEURS\Fiches\") & RG & (".xlsm")

Merci

Cordialement

Joseph

bonsoir Joseph le forum

activeworkbook.fullname

a+

papou

Bonsoir papou, le forum,

Nous ne nous quittons plus!!!

Merci beaucoup pour l'information.

C'est pour la partie de l'application dans laquelle c'est moi qui ai fait le code.

En voyant ce que toi tu avais fait, je me suis dit que si on pouvais avoir le chemin du fichier, il y avait peut-être possibilité d'avoir le chemin complet.

Bonne soirée et @+

Joseph

Bonsoir papou, le forum,

Le résultat n'est pas celui qu'il me faut.

En fait il me faudrait le résultat de : active workbook.path qui donne ceci :

C:\Users\SNELL\Documents\Joseph\MAJEURS

avec à la place de C: le nom de l'ordinateur "serveur" qui est SNELL-PC

\\SNELL-PC\Users\SNELL\Documents\Joseph\MAJEURS

Amicalement

Joseph

Bonsoir papou, le forum,

En farfouillant à gauche et à droite j'ai trouvé le code suivant :

Set objNetwork = CreateObject("Wscript.Network")

Wscript = objNetwork.ComputerName

Set objNetwork = Nothing

qui me renvoie bien SNELL-PC

Mais je n'ai aucune idée de la portée (dangerosité ou inocuité) de cette instruction

A suivre....

Amicalement

Joseph

Bonjour Joseph,

alors

Environ("Username") 
application.username

tu avais dis le chemin complet d'un fichier !!!!!

a+

papou

Bonjour Joseph, Papou:)

une autre approche comme ceci :

Option Explicit
Sub test()
Dim Fso As Object, z As String
Set Fso = CreateObject("Scripting.FileSystemObject")
With ActiveWorkbook
    z = Fso.GetFolder(.Path).Files(.Name).Drive.ShareName
    MsgBox z & Split(.FullName, ":")(1)
End With
End Sub

bonne journée

@+

Bonjour papou, Pierrot93, le forum,

Je vous remercie tous les deux pour vos réponses.

Ce n'est pas une première (n'est ce pas papou), mais j'ai visiblement des difficultés à exprimer correctement ce que je souhaite.

A la place de :

C:\Users\SNELL\Documents\Joseph\MAJEURS

Je voudrais avoir :

\\SNELL-PC\Users\SNELL\Documents\Joseph\MAJEURS

où \\SNELL-PC est en fait le nom de l'ordinateur. (Entre les deux le C: a disparu : ne me demandez pas pourquoi !)

Pour que quand je travaille sur l'ordinateur "client", le programme n'aille pas me chercher quelque chose sur son lecteur C, mais bien sur l'ordinateur "serveur"

En fait, c'est la deuxième façon d'écrire que j'appelle chemin complet.....à tort ????

Papou, ta solution

Environ("Username") 
application.username

me donne le nom sous lequel je suis enregistré avec excel c-à-d : SNELL

Pierrot93, ta solution me donne : Users\SNELL\Documents\Joseph\MAJEURS. Il me manque donc le "\\SNELL-PC\" devant.

En tout cas, un grand merci pour votre générosité.

Amicalement

Joseph

Bonsoir Joseph Pierrot le forum

bon alors là moi je ne comprend plus ce que tu demandes, il est évident que rajouter un bout devant c'est possible mais c'est pas cela que tu souhaites je pense, alors là je vais relire encore une bonne cinquantaine de fois les posts pour que cela rentre u n peu

a+

papou

Bonsoir papou, Pierrot93, le forum,

Ouf, je crois avoir trouvé quelque chose, mais comme je ne sais pas du tout dans quoi je m'embarque, votre avis d'expert serait grandement le bienvenu :

Set objNetwork = CreateObject("Wscript.Network")
      Wscript = objNetwork.ComputerName
      Set objNetwork = Nothing

      adr = ThisWorkbook.Path
      adr1 = Right(adr, Len(adr) - 2)

      adrc = "\\" & Wscript & adr1 & "\Fiches\" & RG & (".xlsm")

Je détaille :

Wscript = objNetwork.ComputerName

me donne SNELL-PC

adr = ThisWorkbook.Path

me donne C:\Users\SNELL\Documents\Joseph\MAJEURS

adr1 = Right(adr, Len(adr) - 2)

me donne Users\SNELL\Documents\Joseph\MAJEURS

adrc = "\\" & Wscript & adr1 & "\Fiches\" & RG & (".xlsm")

me donne \\SNELL-PC\Users\SNELL\Documents\Joseph\MAJEURS\Fiches\le nom du fichier.xlsm

C'est à dire exactement la même chose que ce qui est écrit en "dur" dans le code VBA.

Maintenant, et surtout, je voudrais absolument votre avis quant à ce "schmilblick"

Merci encore

Amicalement

Joseph

PS : papou, je te rassure : je viens de rayer enseignant dans la liste de mes possibilités une fois retraité. Je pense que mes éventuels vis-à-vis risqueraient de ne rien comprendre à ce que je leur raconterais

Bonjour Joseph Pierrot le forum

pour moi si le résultat que tu cherches est bon , il n'y a pas de problème avec ta solution

a+

Papou

Bonjour à tous,

Une autre façon de faire sans passer par une variable objet :

Dim adr As String, adr1$, adrc&
adr = ThisWorkbook.Path
adr1 = Right(adr, Len(adr) - 2)
adrc = Environ("logonserver") & adr1 & "\Fiches\" & RG & (".xlsm")

Bonjour papou, pierrot93, vba-new, le forum

Un grand merci pour vos réponses et remarques.

Ceci met un terme au développement de ma base.

Il n'y a plus qu'à tout saisir.......

A bientôt

Amicalement

Joseph

Rechercher des sujets similaires à "chemin complet fichier"