Voici un petit code que j´ai récupéré lors de la création d´un fichier destiné à être utilisé par des utilisateurs multiples qui n´ont pas tous accès aux mêmes fonctionnalités gérées par le code VBA (requètes, accès à certains onglets...).
Comme ce genre de procédé semble assez courant dans les directions financières (confidentialité, quand tu nous tiens... ), je pense qu´il peut être utile dans la FAQ, rubrique 3.1.2 "Application/Divers".
Q: Comment obtenir l´identité de l´utilisateur loggé sur une machine ?

R:
L´identité de l´utilisateur loggé sur un ordinateur se trouve dans un API que l´on peut "lire" grâce au code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Declare Function GetUserName Lib "advapi32.dll" _
      Alias "GetUserNameA" (ByVal lpBuffer As String, _
      nSize As Long) As Long
Cette première portion de code définit la fonction "GetUserName" qui est ensuite appelée dans la suite du code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
   Sub UserName()
   Dim password As String
      Dim b As String * 100
      Dim L As Long
      L = 100
      GetUserName b, L
      password = Left(b, L - 1)
   End Sub
à l´issue du code, le nom d´utilisateur est stocké dans la variable "password"

Note: cette fonction fonctionne avec certitude sous Windows XP SP2, pour ce qui est des autres OS sous lesquels elle est utilisable, pourriez-vous m´aider à complèter la liste ?