Bonjour la team
je bute sur ce code,
je cherche à vérifier si le fichier est ouvert et par qui, je souhaite donc :
1 - créer un fichier texte temporaire à la racine de ce fichier (status.txt) à l'ouverture
2 - inscrire le user ou lire dedans
3 - inscrire dans un MSG box les infos via les valeurs inscrites dans les cases X2 Y3 de l'onglet "Acc"
4 - supprimer à la fermeture du fichier le fichier temporaire status.txt
j'ai mis en gras ou ça coince
les deux sub :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not ThisWorkbook.ReadOnly Then Kill "ThisWorkbook.Path\status.txt" ' supp du fichier
End Sub
Private Sub Workbook_Open()
Dim numfich As Integer
Dim us As String
'creation du fichier vide = status.txt dans ThisWorkbook.Path ?
If Dir("ThisWorkbook.Path\status.txt") = "" Then
numfich = FreeFile
Open "ThisWorkbook.Path\status.txt" For Output As #numfich
Print #numfich, Application.UserName & " le " & Now() ' pose du fichier
Close #numfich
Else
numfich = FreeFile
Open "ThisWorkbook.Path\status.txt" For Input As #numfich
Input #numfich, us
Close #numfich
MsgBox "Fichier en lecture seule !" & vbLf & "Utilisé par " & Application.IfError(Application.VLookup(us, Sheets("Acc").Range("X2:Y3"), 2, False), us) ' info
End If
End Sub
Merci d'avance de votre support
je bute sur ce code,
je cherche à vérifier si le fichier est ouvert et par qui, je souhaite donc :
1 - créer un fichier texte temporaire à la racine de ce fichier (status.txt) à l'ouverture
2 - inscrire le user ou lire dedans
3 - inscrire dans un MSG box les infos via les valeurs inscrites dans les cases X2 Y3 de l'onglet "Acc"
4 - supprimer à la fermeture du fichier le fichier temporaire status.txt
j'ai mis en gras ou ça coince
les deux sub :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not ThisWorkbook.ReadOnly Then Kill "ThisWorkbook.Path\status.txt" ' supp du fichier
End Sub
Private Sub Workbook_Open()
Dim numfich As Integer
Dim us As String
'creation du fichier vide = status.txt dans ThisWorkbook.Path ?
If Dir("ThisWorkbook.Path\status.txt") = "" Then
numfich = FreeFile
Open "ThisWorkbook.Path\status.txt" For Output As #numfich
Print #numfich, Application.UserName & " le " & Now() ' pose du fichier
Close #numfich
Else
numfich = FreeFile
Open "ThisWorkbook.Path\status.txt" For Input As #numfich
Input #numfich, us
Close #numfich
MsgBox "Fichier en lecture seule !" & vbLf & "Utilisé par " & Application.IfError(Application.VLookup(us, Sheets("Acc").Range("X2:Y3"), 2, False), us) ' info
End If
End Sub
Merci d'avance de votre support
Dernière édition: