UserName

carpekoi

XLDnaute Nouveau
Bonjour,

Je crée une Macro qui me permet d'enregistrer automatiquement un fichier Excel sur le dique "C".

Je souhaite utiliser cette Macro sur plusieurs PC dont le User est différent.
Est-il possible de remplacer le nom du User(npi-form3.par) par un terme générique.

' Sauvegarde du fichier d'origine
With ActiveWorkbook
ActiveWorkbook.Save
'Enregistrement sur disque "C"

Dim Nom As String
Dim Prenom As String
Dim strFichier As String
Dim Formation As String

Nom = Range("D32")
Prenom = Range("F32")
Formation = Range("F18")

ChDir "\\files02.masociete.fr\home\npi-form3.par\Documents"
ActiveWorkbook.SaveAs Filename:= _
"\\files02.masociete.fr\home\npi-form3.par\Documents" & "Attestation " & (Nom) & " " & (Prenom), _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Range("A1").Select

strFichier = "\\files02.masociete.fr\home\npi-form3.par\Documents" & "Attestation " & (Nom) & " " & (Prenom) & ".xls"
End With
' Envoi du mail
With ActiveWorkbook
.SendMail Recipients:=Array("monprenom.monnom@masociete.fr"), Subject:="Attestation " & (Formation) & " " & Format(Date, "dd/mmm/yy")
.Close SaveChanges:=False

Merci d'éclairer ma lenterne.
 

carpekoi

XLDnaute Nouveau
Re : UserName

Bonjour,

J'ai testé en remplaçant l'utilisateur "npi-form3.par" par Environ("UserName") mais cela ne fonctionne pas.
Il me manque certainement quelque chose en amont pour pouvoir remplacer le nom de l'utilisateur par je ne sais pas trop quoi.

Cordialement.

François
 

Pierrot93

XLDnaute Barbatruc
Re : UserName

Bonjour capekoi, Gilbert,

pas sûr mais si cela peut t'aiser :
Code:
Dim cheminb As String, chemind As String
'chemin du bureau de l'utilisateur windows
cheminb = CreateObject("WScript.Shell").specialFolders("Desktop")
'chemin du dossier mes documents de l'utilisateur windows
chemind = CreateObject("WScript.Shell").specialFolders("MyDocuments")
bon après midi
@+
 

carpekoi

XLDnaute Nouveau
Re : UserName

Bonjour,
J'ai testé la solution de Pierrot93 en remplaçant la ligne de ma macro par ce qui suit :

'Enregistrement dans "Mes documents"

Dim Nom As String
Dim Prenom As String
Dim strFichier As String
Dim Formation As String
Dim chemind As String



Nom = Range("D32")
Prenom = Range("F32")
Formation = Range("F18")
chemind = CreateObject("WScript.Shell").specialFolders("MyDocuments")
MsgBox chemind 'indique bien le bon chemin(\\files02.masociete.fr\home\npi-form3.par\documents)
ChDir "chemind"
ActiveWorkbook.SaveAs Filename:= _
"chemind" & "Attestation " & (Nom) & " " & (Prenom), _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Range("A1").Select

strFichier = "chemind" & "Attestation " & (Nom) & " " & (Prenom) & ".xls"
End With

Le chemin n'est pas reconnu.

Merci pour votre aide
François
 

Pierrot93

XLDnaute Barbatruc
Re : UserName

Bonjour,

peut être rajouter un \
Code:
ActiveWorkbook.SaveAs Filename:= _
"chemind" & "\Attestation " & (Nom) & " " & (Prenom), _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False

bon après midi
@+
 

carpekoi

XLDnaute Nouveau
Re : UserName

Re bonjour,

J'ai trouvé pourquoi l'enregistrement ne se fait pas ; il faut juste enlever les deux " de "chemind" car ils sont déjà présent dans cheminb = CreateObject("WScript.Shell").specialFolders("Desktop")
Maintenant çà fonctionne.
Encore merci à tous les deux -Gilbert et Pierrot - Reconnaissance éternelle -

François dit Carpekoï
 

Discussions similaires

Réponses
2
Affichages
271

Membres actuellement en ligne

Statistiques des forums

Discussions
312 329
Messages
2 087 335
Membres
103 520
dernier inscrit
Azise