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
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.