Nom de l'utilisateur en lecture ecriture

labise2

XLDnaute Nouveau
Bonjour,

J'ai développé un ensemble d'applications de gestion sous Excel 2003.
Elles sont pilotées à partir d'un classeur appelé "portail" qui gère les accès aux différents classeurs de gestion.
Ce portail permet de gérér des accès selectifs aux applications suivant un mot de passe unique de l'utilisateur.
La taille de mon entreprise évoluant, les utilisateurs sont de plus en plus souvent confrontés à un usage en lecture seule.
J'ai composé une macro à l'ouverture du fichier qui envoie un message au nouvel utilisateur, l'informant que le fichier est en lecture seule.
Par contre je n'arrive pas à récupérer le nom de l'utilisateur qui a ouvert en premier le fichier (en lecture-écriture)
Il s'agit du nom figurant dans le message d'ouverture déclenché en cas d'ouverture directe dans l'explorateur de fichiers.
J'aimerais insérer cette info dans mon message.
Cela permettrai de contacter l'utilisateur indiqué pour lui demander de libérer l'application.

Merci pour votre aide !
 

Lolote83

XLDnaute Barbatruc
Re : Nom de l'utilisateur en lecture ecriture

Salut Labise2,
Tout d'abord, bonjour à Draguignan (YES) ...
La fonction suivante pour exemple inscrit dans la cellule A1 le nom du l'utilisateur
Range ("A1")=Environ("username")
En rajoutant cette fonction à ton code, tu peux certainement t'en servir pour indiquer qui a ouvert le fichier.
Reste à savoir comment est rentrée cette information sur le PC de chaque utilisateur.
Je n'ai plus Excel2003 donc je ne peux pas te donner l'info ou retrouver cette donnée.
Sinon, tu peux voir ici
https://www.excel-downloads.com/threads/recuperer-nom-dutilisateur.179814/
@+ Lolote83
 

labise2

XLDnaute Nouveau
Re : Nom de l'utilisateur en lecture ecriture

Bonsoir,

Merci pour cette réponse, mais je connaissais déjà cette possibilité.
Mais cela renvoie le nom de l’utilisateur du poste de travail appelant.
Celui qui est en lecture seule voit donc apparaître son nom et non celui du premier utilisateur (qui est donc en lecture-écriture)
La seule manière de l'utiliser est de réenregistrer le fichier dès l'ouverture par le premier utilisateur, mais celà occasionne une perte de temps car mes fichiers sont de taille conséquente et utilisés sur un réseau virtuel multi-site (enregistrements longs)

Je pense qu'il doit y avoir un "argument" contenant le nom de celui qui a ouvert le fichier en premier dans windows, mais je ne sais pas comment le trouver et le récupérer.

Merci pour ton aide et bon WE...
 

Lolote83

XLDnaute Barbatruc
Re : Nom de l'utilisateur en lecture ecriture

Re bonsoir LaBise2,
Je suis sur une solution.
Si entre temps tu as des réponses, tant pis pour moi, mais j'aurais cherché.
Demain journée des sports donc finalité du programme Dimanche et ou Lundi
Bon week-end
@+ Lolote83
 

Lolote83

XLDnaute Barbatruc
Re : Nom de l'utilisateur en lecture ecriture

Bonjour LaBise2,
Peut être une solution ici.
En utilisant un fichier INI qui sera placé dans le même dossier que ton fichier.
Le principe :
- A l'ouverture du fichier, on va regarder dans le fichier .INI si un nom est inscrit.
Par défaut, c'est DISPO qui est inscrit.
Donc, si DISPO est inscrit, c'est que personne n'utilise actuellement le fichier. On peut alors l'utiliser et inscrire à la place le nom de l'utilisateur.
- Si l'utilisateur X ferme le fichier, c'est le nom DISPO qui sera de nouveau inscrit.
- Entre temps, si quelqu'un essaye d'ouvrir le fichier, comme il est dit plus haut, à l'ouverture de celui-ci, on regarde le nom qui est inscrit. Comme le fichier est actuellement utilisé par X, (UserName de la personne utilisant le fichier) , on peut donc avertir celui qui tente d'ouvrir le fichier que celui-ci est actuellement utilisé par X.
En espérant que cela te convienne.
Cordialement
Lolote83
 

Pièces jointes

  • LaBise2 - Fichier INI.zip
    16.4 KB · Affichages: 24

labise2

XLDnaute Nouveau
Re : Nom de l'utilisateur en lecture ecriture

Bonjour lolotte
Merci pour cette réponse
Cela semble correspondre a mon souhait.
Mais comment recuperer les infos en VBA ?
Je suis en conges pour la semaine...
On se ré contacte la semaine prochaine
Merci encore
 

Lolote83

XLDnaute Barbatruc
Re : Nom de l'utilisateur en lecture ecriture

Salut Labise2,
J'attendais de te relire pour te transmettre un fichier exemple qui te permettrait de tester.
Tiens moi au courant.
Comme il est dis plus haut, à l'ouverture on teste si DISPO.
- Si dispo alors l'utilisateur A peut travailler avec le fichier et à la fermeture de celui-ci, cela rend donc le fichier de nouveau DISPO.
- Si NON dispo (donc utilisé par l'utilisateur A), l'utilisateur B est averti
@+ Lolote83
 

Pièces jointes

  • Labise2.zip
    18.4 KB · Affichages: 33

labise2

XLDnaute Nouveau
Re : Nom de l'utilisateur en lecture ecriture

Re-bonsoir,

Je viens de tester, cela marche parfaitement.
J'ai même rajouté le paramètre de l'heure de prise en main du fichier...
Il me reste à le déployer sur mes différentes applications et sociétés.
Encore merci pour ton aide.

A charge de revanche peut-être un jour...

Bien cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 276
Messages
2 086 711
Membres
103 377
dernier inscrit
fredy45