[Excel 97] Macro - Lecture seule "qui a ouvert le fichier ?"

Bonjour à tous !

Voilà, étant donné la réactivité et l'aide que l'on m'a apporté sur ce forum, je tente le coups avec une nouvelle question !

Je vous explique mon problème plutôt simple :

Nous sommes plusieurs à utiliser un même fichier excel mis sur le réseau local mais, comme vous le savez, c'est le premier à l'ouvrir qui obtient le droit de le modifier et passe en "lecture seule" pour les autres.

J'en arrive au problème, qu'il soit en lecture seule est une chose mais que l'on soit obligé de courir partout pour savoir qui l'a ouvert en est une autre...

J'ignore totalement si c'est faisable via une macro mais voici la fonction que je cherche :

Via un simple bouton sur une feuille du fichier, l'utilisateur pourrait se renseigner afin de savoir quel poste à la priorité

Une autre fonction envisagable :

Via un second bouton, il pourrait envoyer un message demandant la priorité afin qu'il puisse modifier le fichier à son tour.

Peut être existe-t-il une fonction déjà incorporée dans excel mais voilà...

Donc si quelqu'un a quelques infos là dessus et si il peut m'orienter vers une solution, ça serait super !

Sur ce , bonne journée à tous !

Bonjour,

On suppose que mettre en partage le fichier ne te va pas.

A l'ouverture l'utilisateur est informé qu'il l'ouvre en lecture seule avec l'information 'verrouillé par machin'.

Il peut même choisir de recevoir une notification pour être informé de la fermeture du fichier s'il veut enregistrer ses modifications (en écrasant les précédentes bien sûr...)

Que lui faut-il de plus ?

eric

Merci pour ta réponse,

En effet je savais que ceci existait mais j'avais un doute !

La problème étant que je ne possède pas tout les droits là où je bosse donc il faut que je vois les paramètres de chaque postes afin d'activier les fonctionnalités que tu as ennoncés.


Merci pour ta réponse,

En effet je savais que ceci existait mais j'avais un doute !

La problème étant que je ne possède pas tout les droits là où je bosse donc il faut que je vois les paramètres de chaque postes afin d'activier les fonctionnalités que tu as ennoncés.

Il n'y a rien à activer, c'est le fonctionnement par défaut.

Tu peux tester sur ton poste en ouvrant un même fichier dans 2 sessions excel.

eric

C'est pas activé ici mais je vois ce que tu veux dire !

Bonsoir ClemB, Eric et le forum,

En complément de la réponse d'Eriiic, il faut qu'Excel soit bien paramétré avec le nom de l'utilisateur sur chacun des postes pour que l'on sache qui est l'utilisateur qui a ouvert le classeur en écriture :

Bouton Office ou Fichier (en fonction de la version d'Excel) / Options / Onglet Standard / Personnaliser votre copie de Microsoft Office / nom d'utilisateur. Si cette information est mal renseignée, il n'est pas évident de savoir qui a accès au fichier en écriture. Si cette information est supprimée, à la prochaine ouverture d'Excel, on vous demande de renseigner le nom de l'utilateur et les initiales, mais si on laisse le champ vide, Excel met par défaut le code identifiant de l'utilisateur.

Cela correspond à Application.UserName

Sub QuiSuisJe()
   MsgBox Application.UserName
End Sub

Bonsoir,

En complément des informations distillées par les 2 éminents prédécesseurs, voici ce que j'ai fait au boulot.

J'avais le même souci que toi, et comme tous les PC étaient "ghostés", le nom de l'utilisateur n'était pas renseigné.

Or, vu le nombre (plus d'une centaine d'utilisateurs potentiels), j'ai envoyé un fichier Excel à tout le monde.

Et à l'ouverture du fichier, si les macros n'étaient pas activées, apparaissait un joli onglet, leur expliquant comment faire pour mettre tout d'abord la sécurité des macros sur "Moyen" (meilleure solution à mon avis, ainsi, on choisit ou pas d'activer les macros)

Puis leur demandant de fermer Excel et de ré-ouvrir mon fichier.

Donc, en activant les macros, le nom de l'utilisateur de la session était renseigné à l'insu de son plein gré, par le code que t'a fourni Benoït.

Dans le ThisWorkbook_Open, j'avais mis ce code :

Private Sub Workbook_Open()
Application.UserName = Environ("username")
End Sub

Puis, il suffisait de leur demander de quitter Excel, et à l'ouverture suivante, l'info était présente lors de l'ouverture d'un fichier déjà ouvert....

Et ça marche....

Bon courage

Bonsoir,

Cousinhub, du coup tu récupères l'identifiant de l'utilisateur...

Personnellement, je suis allé un peu plus loin dans l'audace, pour les utilisateurs qui sont sur le réseau, je compare l'identifiant windows avec la liste des users et leur noms que j'ai stocké dans un fichier ini qui est sur le réseau accessible par tous, et si le nom est différent, je renomme le UserName d'Office en toute discrétion.

Wouha merci pour vos réponses plus que complètes !

Bas je vais essayer ça alors

Merci en tout cas pour votre aide !

Rechercher des sujets similaires à "macro lecture seule qui ouvert fichier"