Attribute VB_Name = "Nom_Utilisateur_Reseau_v111" '--------------------------------------------------------------------------------------- ' Procédure_____: Nom_Utilisateur_Reseau ' Date__________: 16/10/2021 ' Auteur________: www.CapLSS.com - https://www.caplss.com/viewtopic.php?t=243 ' Objet_________: Retourner le Nom de l'Utilisateur identifié au Réseau qui exécute la macro ' Référence_____: Fonction générique ' Appel_________: Nom_Utilisateur_Reseau() ' Retour________: Chaine de Caractère du nom ou chaine vide "" ' Compatibilité_: (2007-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 Réseau (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) ' Option Explicit ' ===================================== ' ' Déclarations Dépendantes des Versions ' ' ===================================== ' #If VBA7 Then ' VBA7 2010+ #If Win64 Then ' 64-bit Private Declare PtrSafe Function WNetGetUser Lib "mpr" Alias "WNetGetUserA" (ByVal lpName As String, ByVal lpUserName As String, LaLongueur As LongPtr) As LongPtr #Else ' 32-bit Private Declare PtrSafe Function WNetGetUser Lib "mpr" Alias "WNetGetUserA" (ByVal lpName As String, ByVal lpUserName As String, LaLongueur As Long) As Long #End If #Else ' 2007- VBA6- Private Declare Function WNetGetUser Lib "mpr" Alias "WNetGetUserA" (ByVal lpName As String, ByVal lpUserName As String, LaLongueur As Long) As Long #End If Function Nom_Utilisateur_Reseau() As String ' Dim lpName, lpUserName 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 = 255 LaLongueur = CONSTLL lpUserName = String(CONSTLL, " ") ' LeRetour = WNetGetUser(lpName, lpUserName, LaLongueur) ' If LeRetour = 0 Then Nom_Utilisateur_Reseau = Left$(lpUserName, InStr(lpUserName, Chr(0)) - 1) Else Nom_Utilisateur_Reseau = "" End If ' End Function