Déterminer l'utilisateur sur un Mac

Bonjour,

Je cherche à déterminer quel est l’utilisateur de mon fichier afin d’exécuter un code en fonction de cette personne – par exemple si c’est l’utilisateur A, alors c’est le chemin X, sinon, si c’est l’utilisateur B, c’est le chemin Y, sinon c’est le chemin Z – mais je ne connais pas l’instruction nécessaire sur des MAC.

Savez-vous donc ce qui correspond, pour un Mac, aux instructions Application.UserName ou Environ("username") qui à ma connaissance renvoient la même information ?

Bonnes salutations.

Bonjour,

Vu ça : https://stackoverflow.com/questions/17847080/vba-get-username-on-osx-or-mac-alternative-to-environusername

Tu dois l'avoir mais au cas où :

MsgBox Application.OperatingSystem & " / v " & Application.Version

eric

Salut Eriiic et merci pour ta réponse, mais ce n’est pas tout à fait ce que je souhaitais.

J’envoie un fichier à une vingtaine de personnes et j’aimerais obtenir des infos sur leur machine sans qu’ils n'aient besoin de s'en occuper. J’ai donc placé ce code dans mon fichier :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim i As Integer

With Sheets("Infos Machine CdC")

    If .Range("A1") = "" Then
        i = 1
    Else
        i = .Range("A" & .Rows.Count).End(xlUp).Row + 1
    End If

    .Range("A" & i) = "Système opérateur : " & Application.OperatingSystem & " / Version Excel : " & Val(Application.Version) & " / " & Environ("username")

End With

End Sub

Ci-dessous un exemple de retour depuis un Mac avec la ligne enregistrée chez moi avant l’envoi :

Système opérateur : Windows (32-bit) NT 10.00 / Version Excel : 16 / Yvouille

Système opérateur : Macintosh (Intel) Version 10.14.3 (assemblage 18D109) / Version Excel : 16,16 /

Comme l'information au sujet du UserName n'est pas obtenue sur un Mac, j’ai alors tenté un autre essai et j’ai demandé à un ami qui s’appelle Yves de le tester sur Windows et à quelqu’un d’autre de le tester sur Mac. Ci-dessous, dans l’ordre, ce nouveau code et les résultats Windows-Mac :

Sub Essai_Bis()

MsgBox "A : l'utilisateur est : " & Application.UserName & vbNewLine & vbNewLine _
    & "B : l'utilisateur est : " & Environ("username")

End Sub
retour windows retour mac

J’aimerais bien tester la fonction proposée sur le fil que tu me conseilles, mais je ne sais pas comment intégrer ce passage à ma macro événementielle qui se déclenche sans que l’utilisateur n’ait à s’en occuper lors de l’enregistrement par Private Sub Workbook_BeforeSave.

N’y a-t-il pas une simple instruction qui permettrait de faire le même travail que Application.UserName ?

Amicalement.

Bonjour,

J'ai du mal à te comprendre.

Tu testes le système et selon le résultat tu récupères le nom avec l'une ou l'autre fonction. Non ?

#If Mac Then
    utilisateur = GetUserNameMac
#Else
    utilisateur = Application.UserName
#End If

Et si GetUserNameMac sort en erreur à la compilation tu mets ses lignes dans le #If Mac

eric

Re,

Je ne pensais pas qu'il était utile de tester le système dans ce cas-ci, pensant qu'il y avait une instruction commune aux deux systèmes - telles que Application.OperatingSystem et Val(Application.Version) - instruction commune que j'ai demandée par ce fil.

Mais là tu me donnes la solution, puisqu'il faut obtenir ce Username par deux instructions différentes.

Merci et très bonne fin de dimanche.

Honnêtement je n'en sais rien n'ayant jamais eu de Mac

Je me suis juste fié à ce qui ce disait dans le lien.

eric

Rechercher des sujets similaires à "determiner utilisateur mac"