Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacquouille
Bonjour, Sur "développez.com", un msg de 2008 d'un certain "fring" - MsgBox Application.UserName '<-- renvoie la propriété "auteur" du classeur - MsgBox Environ("username") '<-- renvoie le login de l'utilisateur du pc Jacques " Le vin est au repas ce que le parfum est à la femme." . "Alf" a écrit dans le message de groupe de discussion : Bonjour à tous, Y a t il un moyen de récupérer le nom de l’utilisateur de la session WINDOWS dans une macro ? Merci pour votre aide à tous Alf
Bonjour,
Sur "développez.com", un msg de 2008 d'un certain "fring"
- MsgBox Application.UserName '<-- renvoie la propriété "auteur" du classeur
- MsgBox Environ("username") '<-- renvoie le login de l'utilisateur du pc
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Alf" a écrit dans le message de groupe de discussion :
971411e5-8007-4eb1-ab43-c3f3b085f884@googlegroups.com...
Bonjour à tous,
Y a t il un moyen de récupérer le nom de l’utilisateur de la session WINDOWS
dans une macro ?
Bonjour, Sur "développez.com", un msg de 2008 d'un certain "fring" - MsgBox Application.UserName '<-- renvoie la propriété "auteur" du classeur - MsgBox Environ("username") '<-- renvoie le login de l'utilisateur du pc Jacques " Le vin est au repas ce que le parfum est à la femme." . "Alf" a écrit dans le message de groupe de discussion : Bonjour à tous, Y a t il un moyen de récupérer le nom de l’utilisateur de la session WINDOWS dans une macro ? Merci pour votre aide à tous Alf
MichD
Bonjour, MsgBox Environ("Username") La suggestion de Jacquouille retourne le nom que l'on retrouve dans les propriétés d'Excel et non le nom de l'usager d'une session Windows. MichD
Bonjour,
MsgBox Environ("Username")
La suggestion de Jacquouille retourne le nom que l'on retrouve dans les
propriétés d'Excel et non le nom de l'usager d'une session Windows.
Bonjour, MsgBox Environ("Username") La suggestion de Jacquouille retourne le nom que l'on retrouve dans les propriétés d'Excel et non le nom de l'usager d'une session Windows. MichD
Jacquouille
Bonsoir Denis Je ne perçois pas bien la différence. Sauf caméra, je ne pense pas qu'Excel soit capable d'identifier qui est derrière le clavier et qu'il se contente de nous donner le nom de la personne qui est titulaire de la session ouverte. Dans ce cas, la formule trouvée sur le Web ne serait-elle pas bonne? déjà merci pour l'explication. Bonne fin de WE Jacques " Le vin est au repas ce que le parfum est à la femme." . "MichD" a écrit dans le message de groupe de discussion : ou9d23$faa$ Bonjour, MsgBox Environ("Username") La suggestion de Jacquouille retourne le nom que l'on retrouve dans les propriétés d'Excel et non le nom de l'usager d'une session Windows. MichD
Bonsoir Denis
Je ne perçois pas bien la différence. Sauf caméra, je ne pense pas qu'Excel
soit capable d'identifier qui est derrière le clavier et qu'il se contente
de nous donner le nom de la personne qui est titulaire de la session
ouverte.
Dans ce cas, la formule trouvée sur le Web ne serait-elle pas bonne?
déjà merci pour l'explication.
Bonne fin de WE
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
ou9d23$faa$1@gioia.aioe.org...
Bonjour,
MsgBox Environ("Username")
La suggestion de Jacquouille retourne le nom que l'on retrouve dans les
propriétés d'Excel et non le nom de l'usager d'une session Windows.
Bonsoir Denis Je ne perçois pas bien la différence. Sauf caméra, je ne pense pas qu'Excel soit capable d'identifier qui est derrière le clavier et qu'il se contente de nous donner le nom de la personne qui est titulaire de la session ouverte. Dans ce cas, la formule trouvée sur le Web ne serait-elle pas bonne? déjà merci pour l'explication. Bonne fin de WE Jacques " Le vin est au repas ce que le parfum est à la femme." . "MichD" a écrit dans le message de groupe de discussion : ou9d23$faa$ Bonjour, MsgBox Environ("Username") La suggestion de Jacquouille retourne le nom que l'on retrouve dans les propriétés d'Excel et non le nom de l'usager d'une session Windows. MichD
Alf
Merci à tous Je vais essayer vos propositions... Alf
Merci à tous
Je vais essayer vos propositions...
Alf
Merci à tous Je vais essayer vos propositions... Alf
MichD
Par exemple, dans les propriétés Excel, je retrouve mon vrai nom complet et non mon pseudonyme. MsgBox Environ("Username") retourne le nom de mon profil d'usager. Dans un réseau, chaque usager a un "nom d'usager" auquel est associé un mot de passe pour pouvoir se connecter au réseau. Dans une entreprise, ce nom d'usager ne correspond pas nécessaire au nom propre de l'usager mais à un code particulier qui est défini par le gestionnaire du réseau. Si j'ai bien compris, c'est le nom du profil de l'usager que le demandeur désire. Ma suggestion est la plus facile... on peut aussi utiliser un API de Windows pour obtenir la même information le cas échéant. Si tu trouves que l'approche suggérée est trop difficile, copie ce qui suit dans un module standard et exécute la procédure "TEST". Attention au coupures de lignes inopportunes par le service de messagerie. 'Déclaration des API dans le haut du module standard Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _ (ByVal lpBuffer As String, nSize As Long) As Long Declare Function WNetGetUser Lib "mpr.dll" Alias "WNetGetUserA" _ (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long '-------------------------------------------------------- Sub test() MsgBox OSUserName MsgBox fGetUserName MsgBox fOSUserName MsgBox FindUserName End Sub '-------------------------------------------------------- Function OSUserName() As String 'Dave Peterson, mpep Dim Buffer As String * 256 Dim BuffLen As Long BuffLen = 256 If GetUserName(Buffer, BuffLen) Then _ OSUserName = Left(Buffer, BuffLen - 1) End Function '-------------------------------------------------------- Function fGetUserName() As String 'posté par Med Bouchenafa, mpfe Const lpnLength As Integer = 255 Dim iRet As Integer Dim lpName, lpUserName As String lpUserName = Space$(lpnLength + 1) iRet = WNetGetUser(lpName, lpUserName, lpnLength) If iRet = 0 Then lpUserName = Left$(lpUserName, InStr(lpUserName, Chr(0)) - 1) Else lpUserName = "" End If fGetUserName = lpUserName End Function '-------------------------------------------------------- Function fOSUserName() As String ' Trevor Shuttleworth, mpep ' Returns the network login name Dim lngLen As Long, lngX As Long Dim strUserName As String strUserName = String$(254, 0) lngLen = 255 lngX = GetUserName(strUserName, lngLen) If lngX <> 0 Then fOSUserName = Left$(strUserName, lngLen - 1) Else fOSUserName = "" End If End Function '-------------------------------------------------------- Public Function FindUserName() As String ' Andrew, mpep Dim strName As String strName = Space$(512) GetUserName strName, Len(strName) FindUserName = Trim$(strName) End Function '-------------------------------------------------------- MichD
Par exemple, dans les propriétés Excel, je retrouve mon vrai nom complet et
non mon pseudonyme.
MsgBox Environ("Username") retourne le nom de mon profil d'usager. Dans un
réseau, chaque usager a un "nom d'usager" auquel est associé un mot de passe
pour pouvoir se connecter au réseau. Dans une entreprise, ce nom d'usager ne
correspond pas nécessaire au nom propre de l'usager mais à un code
particulier qui est défini par le gestionnaire du réseau. Si j'ai bien
compris, c'est le nom du profil de l'usager que le demandeur désire.
Ma suggestion est la plus facile... on peut aussi utiliser un API de Windows
pour obtenir la même information le cas échéant.
Si tu trouves que l'approche suggérée est trop difficile, copie ce qui suit
dans un module standard et exécute la procédure "TEST".
Attention au coupures de lignes inopportunes par le service de messagerie.
'Déclaration des API dans le haut du module standard
Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA"
_
(ByVal lpBuffer As String, nSize As Long) As Long
Declare Function WNetGetUser Lib "mpr.dll" Alias "WNetGetUserA" _
(ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As
Long
'--------------------------------------------------------
Sub test()
MsgBox OSUserName
MsgBox fGetUserName
MsgBox fOSUserName
MsgBox FindUserName
End Sub
'--------------------------------------------------------
Function OSUserName() As String
'Dave Peterson, mpep
Dim Buffer As String * 256
Dim BuffLen As Long
BuffLen = 256
If GetUserName(Buffer, BuffLen) Then _
OSUserName = Left(Buffer, BuffLen - 1)
End Function
'--------------------------------------------------------
Function fGetUserName() As String
'posté par Med Bouchenafa, mpfe
Const lpnLength As Integer = 255
Dim iRet As Integer
Dim lpName, lpUserName As String
lpUserName = Space$(lpnLength + 1)
iRet = WNetGetUser(lpName, lpUserName, lpnLength)
If iRet = 0 Then
lpUserName = Left$(lpUserName, InStr(lpUserName, Chr(0)) - 1)
Else
lpUserName = ""
End If
fGetUserName = lpUserName
End Function
'--------------------------------------------------------
Function fOSUserName() As String
' Trevor Shuttleworth, mpep
' Returns the network login name
Dim lngLen As Long, lngX As Long
Dim strUserName As String
strUserName = String$(254, 0)
lngLen = 255
lngX = GetUserName(strUserName, lngLen)
If lngX <> 0 Then
fOSUserName = Left$(strUserName, lngLen - 1)
Else
fOSUserName = ""
End If
End Function
'--------------------------------------------------------
Public Function FindUserName() As String
' Andrew, mpep
Dim strName As String
strName = Space$(512)
GetUserName strName, Len(strName)
FindUserName = Trim$(strName)
End Function
'--------------------------------------------------------
Par exemple, dans les propriétés Excel, je retrouve mon vrai nom complet et non mon pseudonyme. MsgBox Environ("Username") retourne le nom de mon profil d'usager. Dans un réseau, chaque usager a un "nom d'usager" auquel est associé un mot de passe pour pouvoir se connecter au réseau. Dans une entreprise, ce nom d'usager ne correspond pas nécessaire au nom propre de l'usager mais à un code particulier qui est défini par le gestionnaire du réseau. Si j'ai bien compris, c'est le nom du profil de l'usager que le demandeur désire. Ma suggestion est la plus facile... on peut aussi utiliser un API de Windows pour obtenir la même information le cas échéant. Si tu trouves que l'approche suggérée est trop difficile, copie ce qui suit dans un module standard et exécute la procédure "TEST". Attention au coupures de lignes inopportunes par le service de messagerie. 'Déclaration des API dans le haut du module standard Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _ (ByVal lpBuffer As String, nSize As Long) As Long Declare Function WNetGetUser Lib "mpr.dll" Alias "WNetGetUserA" _ (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long '-------------------------------------------------------- Sub test() MsgBox OSUserName MsgBox fGetUserName MsgBox fOSUserName MsgBox FindUserName End Sub '-------------------------------------------------------- Function OSUserName() As String 'Dave Peterson, mpep Dim Buffer As String * 256 Dim BuffLen As Long BuffLen = 256 If GetUserName(Buffer, BuffLen) Then _ OSUserName = Left(Buffer, BuffLen - 1) End Function '-------------------------------------------------------- Function fGetUserName() As String 'posté par Med Bouchenafa, mpfe Const lpnLength As Integer = 255 Dim iRet As Integer Dim lpName, lpUserName As String lpUserName = Space$(lpnLength + 1) iRet = WNetGetUser(lpName, lpUserName, lpnLength) If iRet = 0 Then lpUserName = Left$(lpUserName, InStr(lpUserName, Chr(0)) - 1) Else lpUserName = "" End If fGetUserName = lpUserName End Function '-------------------------------------------------------- Function fOSUserName() As String ' Trevor Shuttleworth, mpep ' Returns the network login name Dim lngLen As Long, lngX As Long Dim strUserName As String strUserName = String$(254, 0) lngLen = 255 lngX = GetUserName(strUserName, lngLen) If lngX <> 0 Then fOSUserName = Left$(strUserName, lngLen - 1) Else fOSUserName = "" End If End Function '-------------------------------------------------------- Public Function FindUserName() As String ' Andrew, mpep Dim strName As String strName = Space$(512) GetUserName strName, Len(strName) FindUserName = Trim$(strName) End Function '-------------------------------------------------------- MichD
Jacquouille
Salut Denis merci pour cette explication, bien détaillée. Etant retraité, je ne travaille plus en réseau. Donc je sais immédiatement qui pianote sur mon PC... c'est moi. -)) Jacques " Le vin est au repas ce que le parfum est à la femme." . "MichD" a écrit dans le message de groupe de discussion : oua7to$463$ Par exemple, dans les propriétés Excel, je retrouve mon vrai nom complet et non mon pseudonyme. MsgBox Environ("Username") retourne le nom de mon profil d'usager. Dans un réseau, chaque usager a un "nom d'usager" auquel est associé un mot de passe pour pouvoir se connecter au réseau. Dans une entreprise, ce nom d'usager ne correspond pas nécessaire au nom propre de l'usager mais à un code particulier qui est défini par le gestionnaire du réseau. Si j'ai bien compris, c'est le nom du profil de l'usager que le demandeur désire. Ma suggestion est la plus facile... on peut aussi utiliser un API de Windows pour obtenir la même information le cas échéant. Si tu trouves que l'approche suggérée est trop difficile, copie ce qui suit dans un module standard et exécute la procédure "TEST". Attention au coupures de lignes inopportunes par le service de messagerie. 'Déclaration des API dans le haut du module standard Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _ (ByVal lpBuffer As String, nSize As Long) As Long Declare Function WNetGetUser Lib "mpr.dll" Alias "WNetGetUserA" _ (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long '-------------------------------------------------------- Sub test() MsgBox OSUserName MsgBox fGetUserName MsgBox fOSUserName MsgBox FindUserName End Sub '-------------------------------------------------------- Function OSUserName() As String 'Dave Peterson, mpep Dim Buffer As String * 256 Dim BuffLen As Long BuffLen = 256 If GetUserName(Buffer, BuffLen) Then _ OSUserName = Left(Buffer, BuffLen - 1) End Function '-------------------------------------------------------- Function fGetUserName() As String 'posté par Med Bouchenafa, mpfe Const lpnLength As Integer = 255 Dim iRet As Integer Dim lpName, lpUserName As String lpUserName = Space$(lpnLength + 1) iRet = WNetGetUser(lpName, lpUserName, lpnLength) If iRet = 0 Then lpUserName = Left$(lpUserName, InStr(lpUserName, Chr(0)) - 1) Else lpUserName = "" End If fGetUserName = lpUserName End Function '-------------------------------------------------------- Function fOSUserName() As String ' Trevor Shuttleworth, mpep ' Returns the network login name Dim lngLen As Long, lngX As Long Dim strUserName As String strUserName = String$(254, 0) lngLen = 255 lngX = GetUserName(strUserName, lngLen) If lngX <> 0 Then fOSUserName = Left$(strUserName, lngLen - 1) Else fOSUserName = "" End If End Function '-------------------------------------------------------- Public Function FindUserName() As String ' Andrew, mpep Dim strName As String strName = Space$(512) GetUserName strName, Len(strName) FindUserName = Trim$(strName) End Function '-------------------------------------------------------- MichD
Salut Denis
merci pour cette explication, bien détaillée.
Etant retraité, je ne travaille plus en réseau. Donc je sais immédiatement
qui pianote sur mon PC... c'est moi.
-))
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
oua7to$463$1@gioia.aioe.org...
Par exemple, dans les propriétés Excel, je retrouve mon vrai nom complet et
non mon pseudonyme.
MsgBox Environ("Username") retourne le nom de mon profil d'usager. Dans un
réseau, chaque usager a un "nom d'usager" auquel est associé un mot de passe
pour pouvoir se connecter au réseau. Dans une entreprise, ce nom d'usager ne
correspond pas nécessaire au nom propre de l'usager mais à un code
particulier qui est défini par le gestionnaire du réseau. Si j'ai bien
compris, c'est le nom du profil de l'usager que le demandeur désire.
Ma suggestion est la plus facile... on peut aussi utiliser un API de Windows
pour obtenir la même information le cas échéant.
Si tu trouves que l'approche suggérée est trop difficile, copie ce qui suit
dans un module standard et exécute la procédure "TEST".
Attention au coupures de lignes inopportunes par le service de messagerie.
'Déclaration des API dans le haut du module standard
Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA"
_
(ByVal lpBuffer As String, nSize As Long) As Long
Declare Function WNetGetUser Lib "mpr.dll" Alias "WNetGetUserA" _
(ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As
Long
'--------------------------------------------------------
Sub test()
MsgBox OSUserName
MsgBox fGetUserName
MsgBox fOSUserName
MsgBox FindUserName
End Sub
'--------------------------------------------------------
Function OSUserName() As String
'Dave Peterson, mpep
Dim Buffer As String * 256
Dim BuffLen As Long
BuffLen = 256
If GetUserName(Buffer, BuffLen) Then _
OSUserName = Left(Buffer, BuffLen - 1)
End Function
'--------------------------------------------------------
Function fGetUserName() As String
'posté par Med Bouchenafa, mpfe
Const lpnLength As Integer = 255
Dim iRet As Integer
Dim lpName, lpUserName As String
lpUserName = Space$(lpnLength + 1)
iRet = WNetGetUser(lpName, lpUserName, lpnLength)
If iRet = 0 Then
lpUserName = Left$(lpUserName, InStr(lpUserName, Chr(0)) - 1)
Else
lpUserName = ""
End If
fGetUserName = lpUserName
End Function
'--------------------------------------------------------
Function fOSUserName() As String
' Trevor Shuttleworth, mpep
' Returns the network login name
Dim lngLen As Long, lngX As Long
Dim strUserName As String
strUserName = String$(254, 0)
lngLen = 255
lngX = GetUserName(strUserName, lngLen)
If lngX <> 0 Then
fOSUserName = Left$(strUserName, lngLen - 1)
Else
fOSUserName = ""
End If
End Function
'--------------------------------------------------------
Public Function FindUserName() As String
' Andrew, mpep
Dim strName As String
strName = Space$(512)
GetUserName strName, Len(strName)
FindUserName = Trim$(strName)
End Function
'--------------------------------------------------------
Salut Denis merci pour cette explication, bien détaillée. Etant retraité, je ne travaille plus en réseau. Donc je sais immédiatement qui pianote sur mon PC... c'est moi. -)) Jacques " Le vin est au repas ce que le parfum est à la femme." . "MichD" a écrit dans le message de groupe de discussion : oua7to$463$ Par exemple, dans les propriétés Excel, je retrouve mon vrai nom complet et non mon pseudonyme. MsgBox Environ("Username") retourne le nom de mon profil d'usager. Dans un réseau, chaque usager a un "nom d'usager" auquel est associé un mot de passe pour pouvoir se connecter au réseau. Dans une entreprise, ce nom d'usager ne correspond pas nécessaire au nom propre de l'usager mais à un code particulier qui est défini par le gestionnaire du réseau. Si j'ai bien compris, c'est le nom du profil de l'usager que le demandeur désire. Ma suggestion est la plus facile... on peut aussi utiliser un API de Windows pour obtenir la même information le cas échéant. Si tu trouves que l'approche suggérée est trop difficile, copie ce qui suit dans un module standard et exécute la procédure "TEST". Attention au coupures de lignes inopportunes par le service de messagerie. 'Déclaration des API dans le haut du module standard Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _ (ByVal lpBuffer As String, nSize As Long) As Long Declare Function WNetGetUser Lib "mpr.dll" Alias "WNetGetUserA" _ (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long '-------------------------------------------------------- Sub test() MsgBox OSUserName MsgBox fGetUserName MsgBox fOSUserName MsgBox FindUserName End Sub '-------------------------------------------------------- Function OSUserName() As String 'Dave Peterson, mpep Dim Buffer As String * 256 Dim BuffLen As Long BuffLen = 256 If GetUserName(Buffer, BuffLen) Then _ OSUserName = Left(Buffer, BuffLen - 1) End Function '-------------------------------------------------------- Function fGetUserName() As String 'posté par Med Bouchenafa, mpfe Const lpnLength As Integer = 255 Dim iRet As Integer Dim lpName, lpUserName As String lpUserName = Space$(lpnLength + 1) iRet = WNetGetUser(lpName, lpUserName, lpnLength) If iRet = 0 Then lpUserName = Left$(lpUserName, InStr(lpUserName, Chr(0)) - 1) Else lpUserName = "" End If fGetUserName = lpUserName End Function '-------------------------------------------------------- Function fOSUserName() As String ' Trevor Shuttleworth, mpep ' Returns the network login name Dim lngLen As Long, lngX As Long Dim strUserName As String strUserName = String$(254, 0) lngLen = 255 lngX = GetUserName(strUserName, lngLen) If lngX <> 0 Then fOSUserName = Left$(strUserName, lngLen - 1) Else fOSUserName = "" End If End Function '-------------------------------------------------------- Public Function FindUserName() As String ' Andrew, mpep Dim strName As String strName = Space$(512) GetUserName strName, Len(strName) FindUserName = Trim$(strName) End Function '-------------------------------------------------------- MichD