Acceder a un fichier dont le chemin est variable VBA

Niouf

XLDnaute Occasionnel
Bonjour !

Petite question, je met au point une macro dans mon entreprise, et j'aimerai au'elle soit utilisable par absolument tout le monde.
Le problem est, que cette macro remplace un fichier a 3 reprises, et le chemin d'acces a ce fichier contient entre autre l'identifiant de la personne qui utilise cette macro.
L'ideal serait d'avoir le nom de l'utilisateur de la macro a l'instant T, variable ...

Une idee ?

Code :

ChDir "P:\Foreman\My Folder"
Workbooks.OpenText Filename:="P:\Foreman\My Folder\ie worklist.xls", Origin _
:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
TrailingMinusNumbers:=True
ChDir "C:\Users\nomutilisateur\AppData\Roaming\Microsoft\Templates"
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\nomutilisateur\AppData\Roaming\Microsoft\Templates\ie worklist.xlt", _
FileFormat:=xlTemplate8, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False

PS Comment faut faire pour inserer du code proprement dans les discussions ? :p
 

Pierrot93

XLDnaute Barbatruc
Re : Acceder a un fichier dont le chemin est variable VBA

Bonjour,

regarde peut être du coté de :
Code:
 Application.UserName

pour l'utilisateur office, ou bien :
Code:
Environ("UserName")

pour l'utilisateur de la session windows.

bon après midi
@+
 

gosselien

XLDnaute Barbatruc
Re : Acceder a un fichier dont le chemin est variable VBA

Bonjour,

je ne serai pas d'une grande aide mais l'utilisateur est connu par: Application.UserName
ex: mUser = Application.UserName
msgbox(mUser)

oups: collision avec Pierrot que je salue
 

Pierrot93

XLDnaute Barbatruc
Re : Acceder a un fichier dont le chemin est variable VBA

Re,

regarde aussi ceci,
Code:
Dim chemin As String
chemin = CreateObject("WScript.Shell").specialFolders("Templates")

chez moi me renvoie :
Code:
"C:\Users\nomutilisateur\AppData\Roaming\Microsoft\Windows\Templates"
 

Niouf

XLDnaute Occasionnel
Re : Acceder a un fichier dont le chemin est variable VBA

Merci Pierrot,

Ca fonctionne parfaitement pour ce chemin en particuliers :
Code:
ChDir "P:\Foreman\My Folder"
    Workbooks.OpenText Filename:="P:\Foreman\My Folder\ie worklist.xls", Origin _
        :=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
        Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
        TrailingMinusNumbers:=True
    ChDir chemin
    ActiveWorkbook.SaveAs Filename:= _
        "ie worklist.xlt", _
        FileFormat:=xlTemplate8, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False

Aurais tu une idee pour faire la meme chose sur le bureau ?
Code:
ChDir "C:\Users\mehmood_a\Desktop"
    ActiveWorkbook.SaveAs Filename:= _
        "Planned Orders" & " " & Format(Date, "dd-mm-yyyy") & ".xls", FileFormat:= _
        xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
 

Niouf

XLDnaute Occasionnel
Re : Acceder a un fichier dont le chemin est variable VBA

Je me permet de reprendre la discussion.

Est ce possible que, selon la version d'Excel, le logiciel ne trouve pas l'emplacement de ces dossiers specifiques ?

Je m'explique : J'ai essaye ma macro sur 3 PC differents, avec 3 Excel differents (2007, 2010 et 2013).
La macro n'est pas capable de sauver mon fichier dans le dossier template et sur le bureau sur Excel 2007. (Je precise qu'elle a ete creee sur 2010).

Et-ce donc bien la qu'est mon probleme ?
Il y a t-il une issue ?

Merci :)
 

Niouf

XLDnaute Occasionnel
Re : Acceder a un fichier dont le chemin est variable VBA

Exact, aucun message d'erreur.

Cependant, pas de fichier sur le bureau.
En revanche, les fichiers censes etres presents dans le dossier "Template" de l'utilisateur, se retrouvent par je ne sais quelle operation sur le Disque commun de l'entreprise.
 

Niouf

XLDnaute Occasionnel
Re : Acceder a un fichier dont le chemin est variable VBA

Le code, s'il peut aider :

Code:
Dim chemin1 As String
Dim chemin2 As String


chemin1 = CreateObject("WScript.Shell").specialFolders("Templates")
chemin2 = CreateObject("WScript.Shell").specialFolders("Desktop")

ChDir "P:\Foreman\My Folder"
    Workbooks.OpenText Filename:="P:\Foreman\My Folder\ie worklist.xls", Origin _
        :=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
        Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
        TrailingMinusNumbers:=True
    ChDir chemin1
    ActiveWorkbook.SaveAs Filename:= _
        "ie worklist.xlt", _
        FileFormat:=xlTemplate8, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False

 ChDir chemin2
    ActiveWorkbook.SaveAs Filename:= _
        "Planned Orders" & " " & Format(Date, "dd-mm-yyyy") & ".xls", FileFormat:= _
        xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
 

Pierrot93

XLDnaute Barbatruc
Re : Acceder a un fichier dont le chemin est variable VBA

Re,

change le disque au préalable :
Code:
     ChDrive Left(chemin1, 1)
     ChDir chemin1
     ActiveWorkbook.SaveAs Filename:= _
         "ie worklist.xlt", _
         FileFormat:=xlTemplate8, Password:="", WriteResPassword:="", _
         ReadOnlyRecommended:=False, CreateBackup:=False
 

Discussions similaires

Statistiques des forums

Discussions
312 674
Messages
2 090 788
Membres
104 665
dernier inscrit
ronbt