Ce forum est maintenant fermé, seule cette archive statique reste consultable.
  FORUM Rue-Montgallet.com
  Programmation
  VB - VBA

  [RESOLU] Récupération nom utilisateur Windows sous VBA

Bas de page
Auteur Sujet :

[RESOLU] Récupération nom utilisateur Windows sous VBA

n°15299
DSSTHFM
Profil : Membre
Posté le 24-11-2005 à 11:29:03  
 

Bonjour,
 
Je cherche à récupérer sous Excel VBA le nom d'utilisateur Windows en cours dans le but de trouver le chemin correspondant au répertoire Mes documents de l'utilisateur pour l'enregistrement d'un document
 
Merci


Message édité par DSSTHFM le 28-11-2005 à 13:21:11
mood
Pub
Posté le 24-11-2005 à 11:29:03  
 

n°15300
Profil sup​primé
Posté le 24-11-2005 à 17:42:09  
 

En VBS il faut faire ça :
 

Code :
  1. Set WshShellObj = WScript.CreateObject("WScript.Shell" )
  2. Set WshProcessEnv = WshShellObj.Environment("PROCESS" )
  3. WshUsername = WshProcessEnv("USERNAME" )


 
(code fourni aux déclarations de variable près)
 
Je ne sais pas si on peut invoquer directement du WSH depuis une macro VBA, mais tu peux essayer.

n°15301
galopin01
Profil : Membre
Posté le 24-11-2005 à 20:32:00  
 

bonsoir,
J'ai ça :

Code :
  1. Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
  2. (ByVal lpBuffer As String, nSize As Long) As Long
  3. Function OSUserName() As String 'extrait d'un code de Paul, Dave Peterson Exelabo
  4. Dim Buffer As String * 256
  5. Dim BuffLen As Long
  6. BuffLen = 256
  7. If GetUserName(Buffer, BuffLen) Then _
  8. OSUserName = Left(Buffer, BuffLen - 1)
  9. End Function
  10. Sub CTest()
  11. MsgBox OSUserName
  12. End Sub


A+


Message édité par galopin01 le 24-11-2005 à 20:32:30
n°15304
DSSTHFM
Profil : Membre
Posté le 25-11-2005 à 09:29:11  
 

Le code de galopin 01 fonctionne très bien
Le code de Ryo-Ohki doit surement nécessiter des adaptions
 
 
Merci de votre aide


Message édité par DSSTHFM le 28-11-2005 à 09:30:35
n°15376
e2prom
Profil : Jeune recrue
Posté le 04-12-2005 à 12:36:26  
 

sous 2000 ou xp essaies ça
utilisateur = environ("username" )
msgbox utilisateur


Message édité par e2prom le 04-12-2005 à 12:37:03
n°15377
galopin01
Profil : Membre
Posté le 04-12-2005 à 16:22:35  
 

Bonjour,
Adopté !
As tu des infos sur les arguments acceptés par Environ ? l'aide de VBA est plutôt succinte...
A+


Message édité par galopin01 le 04-12-2005 à 16:29:59
n°15397
P-Y
Profil : Vieux de la vieille
Posté le 06-12-2005 à 15:54:41  
 

globalement, je dirais que ca accepte une chaine de caractères représantant une variable d'environnement dont tu veux connaitre la valeur ^^


---------------
Le trikapalanet
n°15536
ladislas26​09
Profil : Membre
Posté le 22-12-2005 à 17:45:18  
 

galopin01 a écrit :

Bonjour,
Adopté !
As tu des infos sur les arguments acceptés par Environ ? l'aide de VBA est plutôt succinte...
A+


 
héhé, essaye ça
 
voici la liste des varibles accéptées par environ()
soit le chiffre, soit la chaine  
1 : ALLUSERSPROFILE
2 : APPDATA
3 : CLIENTNAME
4 : CommonProgramFiles
5 : COMPUTERNAME
6 : ComSpec
7 : HOMEDRIVE
8 : HOMEPATH
9 : LOGONSERVER
10 : NUMBER_OF_PROCESSORS
11 : OS
12 : Path
13 : PATHEXT
14 : PROCESSOR_ARCHITECTURE
15 : PROCESSOR_IDENTIFIER
16 : PROCESSOR_LEVEL
17 : PROCESSOR_REVISION
18 : ProgramFiles
19 : SESSIONNAME
20 : SystemDrive
21 : SystemRoot
22 : TEMP
23 : TMP
24 : USERDOMAIN
25 : USERNAME
26 : USERPROFILE
27 : windir
 
Tu peux aussi récupérer leur valeur en faisant executer puis % & chaine & %
 
Par exemple %temp% ouvre le dossier temporaire

n°19894
netman44
Profil : Jeune recrue
Posté le 17-06-2010 à 10:32:35  
 

Bonjour,
 
Ci-joint un code que j'ai rédigé pour afficher dans un onglet vierge ce que retourne chacune de ces variables. C'est assez fastidieux à écrire donc je vous le fais partager.
 
Sub Afficher_Environ()
 
Valeur1 = Environ("ALLUSERSPROFILE" )
Valeur2 = Environ("APPDATA" )
Valeur3 = Environ("CLIENTNAME" )
Valeur4 = Environ("CommonProgramFiles" )
Valeur5 = Environ("COMPUTERNAME" )
Valeur6 = Environ("ComSpec" )
Valeur7 = Environ("HOMEDRIVE" )
Valeur8 = Environ("HOMEPATH" )
Valeur9 = Environ("LOGONSERVER" )
Valeur10 = Environ("NUMBER_OF_PROCESSORS" )
Valeur11 = Environ("OS" )
Valeur12 = Environ("Path" )
Valeur13 = Environ("PATHEXT" )
Valeur14 = Environ("PROCESSOR_ARCHITECTURE" )
Valeur15 = Environ("PROCESSOR_IDENTIFIER" )
Valeur16 = Environ("PROCESSOR_LEVEL" )
Valeur17 = Environ("PROCESSOR_REVISION" )
Valeur18 = Environ("ProgramFiles" )
Valeur19 = Environ("SESSIONNAME" )
Valeur20 = Environ("SystemDrive" )
Valeur21 = Environ("SystemRoot" )
Valeur22 = Environ("TEMP" )
Valeur23 = Environ("TMP" )
Valeur24 = Environ("USERDOMAIN" )
Valeur25 = Environ("UserName" )
Valeur26 = Environ("USERPROFILE" )
Valeur27 = Environ("windir" )
 
Range("A1" ).Value = "ALLUSERSPROFILE"
Range("A2" ).Value = "APPDATA"
Range("A3" ).Value = "CLIENTNAME"
Range("A4" ).Value = "CommonProgramFiles"
Range("A5" ).Value = "COMPUTERNAME"
Range("A6" ).Value = "ComSpec"
Range("A7" ).Value = "HOMEDRIVE"
Range("A8" ).Value = "HOMEPATH"
Range("A9" ).Value = "LOGONSERVER"
Range("A10" ).Value = "NUMBER_OF_PROCESSORS"
Range("A11" ).Value = "OS"
Range("A12" ).Value = "Path"
Range("A13" ).Value = "PATHEXT"
Range("A14" ).Value = "PROCESSOR_ARCHITECTURE"
Range("A15" ).Value = "PROCESSOR_IDENTIFIER"
Range("A16" ).Value = "PROCESSOR_LEVEL"
Range("A17" ).Value = "PROCESSOR_REVISION"
Range("A18" ).Value = "ProgramFiles"
Range("A19" ).Value = "SESSIONNAME"
Range("A20" ).Value = "SystemDrive"
Range("A21" ).Value = "SystemRoot"
Range("A22" ).Value = "TEMP"
Range("A23" ).Value = "TMP"
Range("A24" ).Value = "USERDOMAIN"
Range("A25" ).Value = "UserName"
Range("A26" ).Value = "USERPROFILE"
Range("A27" ).Value = "windir"
 
 
Range("B1" ).Value = Valeur1
Range("B2" ).Value = Valeur2
Range("B3" ).Value = Valeur3
Range("B4" ).Value = Valeur4
Range("B5" ).Value = Valeur5
Range("B6" ).Value = Valeur6
Range("B7" ).Value = Valeur7
Range("B8" ).Value = Valeur8
Range("B9" ).Value = Valeur9
Range("B10" ).Value = Valeur10
Range("B11" ).Value = Valeur11
Range("B12" ).Value = Valeur12
Range("B13" ).Value = Valeur13
Range("B14" ).Value = Valeur14
Range("B15" ).Value = Valeur15
Range("B16" ).Value = Valeur16
Range("B17" ).Value = Valeur17
Range("B18" ).Value = Valeur18
Range("B19" ).Value = Valeur19
Range("B20" ).Value = Valeur20
Range("B21" ).Value = Valeur21
Range("B22" ).Value = Valeur22
Range("B23" ).Value = Valeur23
Range("B24" ).Value = Valeur24
Range("B25" ).Value = Valeur25
Range("B26" ).Value = Valeur26
Range("B27" ).Value = Valeur27
 
MsgBox "Traitement terminé.", vbInformation
 
End Sub
 
 
 
Netman
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ladislas2609 a écrit :


 
héhé, essaye ça
 
voici la liste des varibles accéptées par environ()
soit le chiffre, soit la chaine  
1 : ALLUSERSPROFILE
2 : APPDATA
3 : CLIENTNAME
4 : CommonProgramFiles
5 : COMPUTERNAME
6 : ComSpec
7 : HOMEDRIVE
8 : HOMEPATH
9 : LOGONSERVER
10 : NUMBER_OF_PROCESSORS
11 : OS
12 : Path
13 : PATHEXT
14 : PROCESSOR_ARCHITECTURE
15 : PROCESSOR_IDENTIFIER
16 : PROCESSOR_LEVEL
17 : PROCESSOR_REVISION
18 : ProgramFiles
19 : SESSIONNAME
20 : SystemDrive
21 : SystemRoot
22 : TEMP
23 : TMP
24 : USERDOMAIN
25 : USERNAME
26 : USERPROFILE
27 : windir
 
Tu peux aussi récupérer leur valeur en faisant executer puis % & chaine & %
 
Par exemple %temp% ouvre le dossier temporaire

n°19896
sthv
Sagesse en cours....
Profil : No Life
Posté le 17-06-2010 à 15:01:48  
 

Vérifie quand meme la date des derniers posts car là, ca fait un up de 5 ans, c'est pas mal...


---------------
Modo slovaque
n°20269
docserta
Profil : Jeune recrue
Posté le 20-01-2013 à 14:42:56  
 

Code :
  1. Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
  2. (ByVal lpBuffer As String, nSize As Long) As Long
  3. Function OSUserName() As String 'extrait d'un code de Paul, Dave Peterson Exelabo
  4. Dim Buffer As String * 256
  5. Dim BuffLen As Long
  6. BuffLen = 256
  7. If GetUserName(Buffer, BuffLen) Then _
  8. OSUserName = Left(Buffer, BuffLen - 1)
  9. End Function
  10. Sub CTest()
  11. MsgBox OSUserName
  12. End Sub


 
Exactement ce dont j'avais besoin
Merci Galopin01

  FORUM Rue-Montgallet.com
  Programmation
  VB - VBA

  [RESOLU] Récupération nom utilisateur Windows sous VBA

© 2000-2024 Forum.rue-montgallet.com - Tous droits réservés