Empêcher un autre utilisateur de pouvoir ouvrir le fichier déjà ouvert

Bonjour la communauté.

Voilà, j'ai créé un petit fichier avec des morceaux de macros imbriquées les unes dans les autres. Le fichier semble tourner correctement, par contre j'ai été contraint de le verrouiller au maximum puisqu'il s'agit d'un fichier destiné à être utilisé par une cinquantaine de collaborateur.

Le fichier se trouve sur un sharepoint.

Mon souhait et de ne pas pouvoir l'ouvrir lorsqu'un autre utilisateur l'a déjà ouvert. (Faire un test savoir si le fichier est ouvert par un autre utilisateur et donc le fermer sans enregistrer).

Excel donne bien le message d'alerte "fichier déjà ouvert", mais j'ai tellement verrouiller le fichier que quand je click pour fermer sur la deuxième ouverture ça me retourne un nouveau message d'alerte qui fait buger la fermeture.

j'ai bien trouvé des codes mais, je ne sais pas comment faire et l'endroit pour les insérer.

Est ce que quelqu'un pourrait s'il vous plait m'aider pour finaliser mon fichier.

Les mots de passes :

VBA : trousse

Mdp : ALEX

Le chemin d'accès sur le Sharepoint et le nom du fichier se trouvent dans le module 6 VBAproject

Pour débloquer le formulaire (retrouver le bandeau excel) cliquez sur Tableau des données et touche Echap

Je reste à votre disposition pour tout besoins de renseignements et je vous remercie d'avance de votre coopération.

Très cordialement,

Alexandre

Bonjour,

le problème est que windows détectera avant votre macro que le fichier est déjà ouvert par un autre utilisateur.

La solution serait de passer par un fichier intermédiaire qui lui interrogerait si le fichier voulu est "libre" ou non ?

- Les personnes clic sur le dit fichier ; la macro test se lance à l'ouverture

Si libre .... la macro ouvre votre fichier et ferme celui-ci.

Si pas libre la macro informe l'utilisateur puis ferme le fichier.

Voir la "Fontion de vérification" est son utlisation dans une sub (macro) :

vba-verifier-si-un-classeur-est-ouvert

Bonjour Xmenpl.

Merci pour la réponse rapide.

Suite à votre suggestion, j'ai regardé la procédure Sub ExempleTestOuvertureClasseur() : Pouvez vous me dire ou est ce que je l'insère dans mon fichier. Dans un module, ou dans le ThisWorkbook ?

Dans l'attente de vous lire, Cordialement,

Alexandre

Une fois avoir ajouté la funtion alors le contenu de la sub lui devra être mis dans le Workbook. open () du nouveau fichier. appelé par exemple "gestion-trousses2"

Ainsi quand les personnes vont cliquer sur le nouveau fichier c'est lui qui fera le test à l'ouverture pour vérifier que votre fichier est dispo (gestion-des-trousses-médical-orly-v01.xlsm)

Et à la fin de la sub vous pourrez ajouter la commande pour fermer "gestion-trousse2"

OK, je comprend mieux le fonctionnement de la macro.

Je vais essayer, à voir si cela fonctionne avec un fichier stocké dans un sharepoint.

Je fais test et reviens sur le forum pour dire ce qu'il en est !

Merci encore

Rechercher des sujets similaires à "empecher utilisateur pouvoir ouvrir fichier deja ouvert"