'--------------------------------------------------------------------------------------- ' Procédure_____: Nom_Utilisateur_Local ' Date__________: 16/10/2021 ' Auteur________: www.CapLSS.com - https://www.caplss.com/viewtopic.php?t=242 ' Objet_________: Retourner le Nom de l'Utilisateur Local qui exécute la macro ' Référence_____: Fonction générique ' Appel_________: Nom_Utilisateur_Local() ' Retour________: Chaine de Caractère du nom ou chaine vide "" ' Compatibilité_: (2003-2019)Office (11.0-16.0)Excel (+)32-bit (+)64-bit ' Statut________: (x)Validé ()En attente validation ()En cours développement '--------------------------------------------------------------------------------------- ' 2009.10.26 v1.00 DEV Création initiale, fournit le nom de l'Utilisateur Local (source Microsoft) ' 2012.02.04 v1.10 DEV Ajoute la Compatibilité avec Office 2010 et conserve la compatibilité avec Office 2007 VBA6 ' 2021.10.16 v1.11 DEV Améliore la Compatibilité pour le 32-bits sous VBA7 (Déclaration et Fonction) ' ' ===================================== ' ' Déclarations Dépendantes des Versions ' ' ===================================== ' #If VBA7 Then ' VBA7 2010+ #If Win64 Then ' 64-bit Private Declare PtrSafe Function GetUserName Lib "advapi32" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As LongPtr) As LongPtr #Else ' 32-bit Private Declare PtrSafe Function GetUserName Lib "advapi32" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long #End If #Else ' 2007- VBA6- Private Declare Function GetUserName Lib "advapi32" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long #End If Private Function Nom_Utilisateur_Local() As String ' Dim laChaine As String #If VBA7 And Win64 Then Dim LaLongueur As LongPtr Dim LeRetour As LongPtr #Else Dim LaLongueur As Long Dim LeRetour As Long #End If ' Const CONSTLL = 1024 LaLongueur = CONSTLL laChaine = String(CONSTLL, " ") ' LeRetour = GetUserName(laChaine, LaLongueur) ' If LeRetour <> 0 Then Nom_Utilisateur_Local = Mid$(laChaine, 1, InStr(laChaine, Chr$(0)) - 1) Else Nom_Utilisateur_Local = "" End If ' End Function