Joe a demandé s’il existe un moyen de déterminer, dans une macro, qui a un classeur particulier ouvert. Il a pensé à utiliser la propriété WriteReservedBy, mais elle ne semble pas avoir les informations dont il a besoin.

Malheureusement, il n’existe aucun moyen de déterminer ces informations à partir de VBA – elles ne sont tout simplement pas accessibles. La propriété WriteReservedBy ne montre pas qui a un fichier ouvert; il montre qui a enregistré le classeur à l’aide d’un mot de passe. En d’autres termes, lorsqu’une personne enregistre un classeur avec l’option d’avoir un mot de passe pour le modifier, le fichier est «WriteReserved». La propriété WriteReservedBy contient le nom de la personne qui a enregistré le fichier dans l’état WriteReserved.

Si vous avez seulement besoin de connaître la réponse (savoir qui a ouvert le fichier)

périodiquement, il est plus facile de rassembler une liste des noms de fichiers ouverts et de demander à l’administrateur réseau de vous dire qui les a ouverts – ces informations sont conservées sur le réseau et accessibles à l’administrateur.

Une autre solution potentielle consiste à ajouter une macro AutoOpen à chaque classeur qui écrit un fichier temporaire sur le disque contenant le nom de la personne qui ouvre le fichier. La macro doit non seulement ouvrir le fichier temporaire, mais également gérer les conditions d’erreur, telles qu’un fichier temporaire déjà ouvert. Le fichier temporaire pourrait alors être accédé par d’autres macros pour voir le nom qu’il contient.

La macro trouvée sur le site suivant peut fournir une autre solution pour savoir qui a un classeur particulier ouvert:

https://bizintelsolutions.wordpress.com/2015/01/26/who-is-in-excel-xlsx-file/

Un autre endroit qui peut contenir une réponse est le site VBNet. L’article de cette page contient du code qui peut être adaptable pour les informations souhaitées:

http://vbnet.mvps.org/index.html?code/network/netfileenum.htm

Notez que le code fonctionne uniquement dans les anciennes versions de Windows. Il devrait fonctionner correctement dans les versions jusqu’à Windows 7, mais pas à pas avec les versions ultérieures – vous voudrez le tester complètement pour vous assurer qu’il fonctionne dans votre environnement.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (9511) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

lien: / excel-Who_Has_the_File_Open [Qui a le fichier ouvert?].