Bonjour,
Je voudrais savoir si on peut savoir si un fichier excel est ouvert mais pas sur son poste de travail, car ce fichier est en libre accès sur un serveur d'entreprise.
Pour résumer j'ai une quinzaine de fichier excel possédant tous les mêmes macros (adapté à chaque fichier), dont une à l'ouverture du fichier qui créer un dossier sur le serveur et une à la fermeture du fichier qui supprime le dit dossier.
Ce dossier est commun à tous les fichier excel (je fais une copie de fichiers dans le dossier créer à partir de liens hypertextes spécifiques à chaque fichier excel).
Lors de la création et de la suppression du dossier, je fais au préalable un test à savoir si le dossier existe, afin d'éviter de créer un dossier "par-dessus" le dossier éxistant et ainsi perdre les fichiers copiés à l'intérieur.
Par contre je voudrais faire un test si un des autres fichiers excel est ouvert pour ne pas supprimer le dossier qui est utilisé par un autre utilisateur.
De plus l'ouverture du même fichier excel par plusieurs utilisateurs est possible (j'ai fait le test).
C'est pourquoi je souhaiterais savoir si c'est possible de savoir si un fichier est ouvert sur un autre poste de travail.
ps : Je n'ai pas énormément chercher mais testé quelques fonctions qui ne fonctionne pas du tout comme :
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Dim lWorkbook As Workbook Dim lFound As Boolean lFound = False For Each lWorkbook In Workbooks If lWorkbook.Name = "FichierX" Then lFound = True Exit For End If Next If lFound Then <Cas ou le fichier "FichierX" existe> End If
ps2 : J'ai testé ces fonctionns sur deux fichiers ouvert sur mon poste mais à la fermeture d'un des deux classeurs, le dossier est bel et bien supprimé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 On Error Resume Next Workbooks("Mon CLasseur.xls").Activate If Err <> 0 Then MsgBox "Le classeur Mon Classeur.xls n'est pas ouvert" Else: MsgBox "Le classeur Mon CLasseur.xls est ouvert" End If
Partager