OVH Cloud OVH Cloud

nom d'utilisateur

5 réponses
Avatar
reda
Bonjour,

J'ai un fichier Excel dont les en-tête de colonne sont : civilités, prénoms,
noms, adresses, et plein d'autres colonnes où il y a "O" ou "N" si la
personne fait partie de telle ou telle groupe, si elle a été invité à telle
ou telle réunion, si elle a répondu ou non à la convocation, si elle s'est
fait représenté, etc.
Comme plusieurs utilisateurs interviennent sur ce fichier qui est sur le
serveur, je souhaiterai créer une colonne qui me donne le nom du dernier
utilisateur qui a fait une mise à jour sur un enregistrement.
Comment faire (macro ou toute proposition bienvenue)?
Merci d'avance
Reda

5 réponses

Avatar
Philippe.R
Bonsoir,
Avec une cellule nommée "quisauve"
Dans le module Thisworkbook du classseur :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
[quisauve] = Application.UserName
End Sub

--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002

"reda" a écrit dans le message de news:c7ojka$bfa$
Bonjour,

J'ai un fichier Excel dont les en-tête de colonne sont : civilités, prénoms,
noms, adresses, et plein d'autres colonnes où il y a "O" ou "N" si la
personne fait partie de telle ou telle groupe, si elle a été invité à telle
ou telle réunion, si elle a répondu ou non à la convocation, si elle s'est
fait représenté, etc.
Comme plusieurs utilisateurs interviennent sur ce fichier qui est sur le
serveur, je souhaiterai créer une colonne qui me donne le nom du dernier
utilisateur qui a fait une mise à jour sur un enregistrement.
Comment faire (macro ou toute proposition bienvenue)?
Merci d'avance
Reda



Avatar
Patrick
Bonsoir,

J'ai lu avec attentio votre réponse pouvez vous me donner
+ de précisions, j'ai fait un copier coller là ou vous le
dites, et après rien ne se passe que fut il faire pour
voir apparaitre le nom, je suis bien sur en partagé, il
doit me manquer une précision et une action !! Peut etre
sur la cellule après avoir nomée la cellule quisauve que
faire ?? (j'ai fait J23)

Merci et bonne nuit

Patrick
-----Message d'origine-----
Bonsoir,
Avec une cellule nommée "quisauve"
Dans le module Thisworkbook du classseur :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As
Boolean, Cancel As Boolean)

[quisauve] = Application.UserName
End Sub

--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002

"reda" a écrit dans le message de
news:c7ojka$bfa$

Bonjour,

J'ai un fichier Excel dont les en-tête de colonne
sont : civilités, prénoms,


noms, adresses, et plein d'autres colonnes où il y
a "O" ou "N" si la


personne fait partie de telle ou telle groupe, si elle
a été invité à telle


ou telle réunion, si elle a répondu ou non à la
convocation, si elle s'est


fait représenté, etc.
Comme plusieurs utilisateurs interviennent sur ce
fichier qui est sur le


serveur, je souhaiterai créer une colonne qui me donne
le nom du dernier


utilisateur qui a fait une mise à jour sur un
enregistrement.


Comment faire (macro ou toute proposition bienvenue)?
Merci d'avance
Reda




.




Avatar
sabatier
je verrai bien aussi cela, dans le même module et en nommant une autre
cellule :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
[quisauvequand] = "Dernière mise à jour le " & Format(Date, _
"dd/mm/yyyy")
End Sub

jps

Patrick a écrit:
Bonsoir,

J'ai lu avec attentio votre réponse pouvez vous me donner
+ de précisions, j'ai fait un copier coller là ou vous le
dites, et après rien ne se passe que fut il faire pour
voir apparaitre le nom, je suis bien sur en partagé, il
doit me manquer une précision et une action !! Peut etre
sur la cellule après avoir nomée la cellule quisauve que
faire ?? (j'ai fait J23)

Merci et bonne nuit

Patrick

-----Message d'origine-----
Bonsoir,
Avec une cellule nommée "quisauve"
Dans le module Thisworkbook du classseur :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As


Boolean, Cancel As Boolean)

[quisauve] = Application.UserName
End Sub

--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002

"reda" a écrit dans le message de


news:c7ojka$bfa$

Bonjour,

J'ai un fichier Excel dont les en-tête de colonne


sont : civilités, prénoms,


noms, adresses, et plein d'autres colonnes où il y


a "O" ou "N" si la


personne fait partie de telle ou telle groupe, si elle


a été invité à telle


ou telle réunion, si elle a répondu ou non à la


convocation, si elle s'est


fait représenté, etc.
Comme plusieurs utilisateurs interviennent sur ce


fichier qui est sur le


serveur, je souhaiterai créer une colonne qui me donne


le nom du dernier


utilisateur qui a fait une mise à jour sur un


enregistrement.


Comment faire (macro ou toute proposition bienvenue)?
Merci d'avance
Reda




.







Avatar
Philippe.R
Re,
Il suffit de lancer un enregistrement du classeur (1 click sur la disquette de la barre standard) pour
voir apparaître le nom d'utilisateur de l'application ; si tu souhaites avoir le nom d'utilisateur de la
session, tu remplaces :
Application.UserName
par :
Environ("UserName")
--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Patrick" a écrit dans le message de
news:afe101c436c9$7e657040$
Bonsoir,

J'ai lu avec attentio votre réponse pouvez vous me donner
+ de précisions, j'ai fait un copier coller là ou vous le
dites, et après rien ne se passe que fut il faire pour
voir apparaitre le nom, je suis bien sur en partagé, il
doit me manquer une précision et une action !! Peut etre
sur la cellule après avoir nomée la cellule quisauve que
faire ?? (j'ai fait J23)

Merci et bonne nuit

Patrick
-----Message d'origine-----
Bonsoir,
Avec une cellule nommée "quisauve"
Dans le module Thisworkbook du classseur :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As
Boolean, Cancel As Boolean)

[quisauve] = Application.UserName
End Sub

--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002

"reda" a écrit dans le message de
news:c7ojka$bfa$

Bonjour,

J'ai un fichier Excel dont les en-tête de colonne
sont : civilités, prénoms,


noms, adresses, et plein d'autres colonnes où il y
a "O" ou "N" si la


personne fait partie de telle ou telle groupe, si elle
a été invité à telle


ou telle réunion, si elle a répondu ou non à la
convocation, si elle s'est


fait représenté, etc.
Comme plusieurs utilisateurs interviennent sur ce
fichier qui est sur le


serveur, je souhaiterai créer une colonne qui me donne
le nom du dernier


utilisateur qui a fait une mise à jour sur un
enregistrement.


Comment faire (macro ou toute proposition bienvenue)?
Merci d'avance
Reda




.




Avatar
Herdet
Bonsoir Reda,
Sur un serveur d'entreprise (ou un PC particulier), je pense qu'il est plus
fiable de récupérer le Login de l'utilisateur par la méthode GetUserName
décrite ci-dessous.
Résultat à comparer en réseau avec "Application.UserName" de l'ami Philippe
Cordiales salutations.
Robert Dezan
-----------------------------------------------------------------------
Dans un module écrire :

Declare Function WNetGetUser Lib "mpr.dll" Alias "WNetGetUserA" (ByVal
lpName As String, _
ByVal lpUserName As String, lpnLength As Long) As Long
Const NoError = 0
' GetUserName : récupération du code login des utilisateurs
Sub Recup_Login()
Nom_Login = UCase$(GetUserName)
Msgbox Nom_Login
End Sub

Function GetUserName()
Const lpnLength As Integer = 255
Dim status As Integer
Dim lpName, lpUserName As String
lpUserName = Space$(lpnLength + 1)
status = WNetGetUser(lpName, lpUserName, lpnLength)
If status = NoError Then
lpUserName = Left$(lpUserName, InStr(lpUserName, Chr(0)) - 1)
Else
' MsgBox "Nom du login pas trouvé."
End
End If
GetUserName = lpUserName
End Function
----------------------------------------------------------------------------
---------




"reda" a écrit dans le message de news:
c7ojka$bfa$
Bonjour,

J'ai un fichier Excel dont les en-tête de colonne sont : civilités,
prénoms,

noms, adresses, et plein d'autres colonnes où il y a "O" ou "N" si la
personne fait partie de telle ou telle groupe, si elle a été invité à
telle

ou telle réunion, si elle a répondu ou non à la convocation, si elle s'est
fait représenté, etc.
Comme plusieurs utilisateurs interviennent sur ce fichier qui est sur le
serveur, je souhaiterai créer une colonne qui me donne le nom du dernier
utilisateur qui a fait une mise à jour sur un enregistrement.
Comment faire (macro ou toute proposition bienvenue)?
Merci d'avance
Reda