Détection fichier excel partagé ouvert?
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 :
Code:
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 |
et
Code:
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 |
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é.