Private Declare Function w32_WNetGetUser Lib "mpr.dll" Alias "WNetGetUserA" (ByVal lpszLocalName As String, ByVal lpszUserName As String, lpcchBuffer As Long) As Long
' --------------------------------
Public currentuser As String
' *** ce sera ce nom qu'il faudra utiliser ulterieurement ***
' userform1.textbox1.value=currentuser
'---------------------------------
Sub getuser()
' récupere le nom de l'utilisateur réseau/groupe de travail, Nom du PC
'***************************************************************************
Dim lpUserName As String, lpnLength As Long, lResult As Long
'Create a buffer
lpUserName = String(256, Chr$(0))
'Get the network user
lResult = w32_WNetGetUser(vbNullString, lpUserName, 256)
If lResult = 0 Then
lpUserName = Left$(lpUserName, InStr(1, lpUserName, Chr$(0)) - 1)
MsgBox "The user's Network Logon Name is " + lpUserName + ".", vbInformation + vbOKOnly, "Logon " & Application.UserName
' application.username est le nom de l'utilisateur EXCEL (options avancées)
'*********************************************************************************
currentuser = lpUserName
Else
MsgBox "No user found !", vbExclamation + vbOKOnly, "Logon"
End If
End Sub