Encore besoin d'aide...Lorsque j'ouvre un fichier alors qu'il est déjà
ouvert sur un autre poste, bien sûr, il me l'ouvre en lecture seule ( je me
doute que ceci est inévitable).
Je voulais donc savoir si dans mes macros je pouvais mettre un message,
apparaissant si le fichier est ouvert par quelqu'un d'autre, plutôt qu'il me
demande si je veux l'ouvrir en lecture seule. Un message qui dirait par
exemple :"cette feuille est utilisé pour le moment veuillez ré-essayer
ultérieurement".
Par la même occasion est-il possible de mettre un timing, qui ferait que :
au bout 5min sans action le fichier se ferme ?
Si quelqu'un a des réponses, je les en remercie d'avance.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Bonjour,
Appel de ce type de procédure par la procédure événementielle du Thisworkbook
Regarde dans l'aide VBA d'Excel sous "UserStatus", l'exemple suivant y est inspiré!
'---------------------------- Private Sub Workbook_Open() Call UsersList End Sub
'---------------------------- Sub Liste_Des_Utilisateurs() Dim users, msg As String, status As String, i As Integer users = ThisWorkbook.UserStatus For i = 1 To UBound(users, 1) msg = msg & users(i, 1) & " " & Format(users(i, 2), "dd/mm/yy h:mm") & " " If users(i, 3) = 1 Then status = "(Exclusive mode)" Else: status = "(Shared mode)" msg = msg & status & vbLf End If Next MsgBox msg, 64 End Sub '----------------------------
Bonjour,
Appel de ce type de procédure par la procédure événementielle du Thisworkbook
Regarde dans l'aide VBA d'Excel sous "UserStatus", l'exemple suivant y est inspiré!
'----------------------------
Private Sub Workbook_Open()
Call UsersList
End Sub
'----------------------------
Sub Liste_Des_Utilisateurs()
Dim users, msg As String, status As String, i As Integer
users = ThisWorkbook.UserStatus
For i = 1 To UBound(users, 1)
msg = msg & users(i, 1) & " " & Format(users(i, 2), "dd/mm/yy h:mm") & " "
If users(i, 3) = 1 Then
status = "(Exclusive mode)"
Else: status = "(Shared mode)"
msg = msg & status & vbLf
End If
Next
MsgBox msg, 64
End Sub
'----------------------------
Appel de ce type de procédure par la procédure événementielle du Thisworkbook
Regarde dans l'aide VBA d'Excel sous "UserStatus", l'exemple suivant y est inspiré!
'---------------------------- Private Sub Workbook_Open() Call UsersList End Sub
'---------------------------- Sub Liste_Des_Utilisateurs() Dim users, msg As String, status As String, i As Integer users = ThisWorkbook.UserStatus For i = 1 To UBound(users, 1) msg = msg & users(i, 1) & " " & Format(users(i, 2), "dd/mm/yy h:mm") & " " If users(i, 3) = 1 Then status = "(Exclusive mode)" Else: status = "(Shared mode)" msg = msg & status & vbLf End If Next MsgBox msg, 64 End Sub '----------------------------
MichD
Pour l'autre partie de ta question que j'ai omis de répondre, un fichier exemple :
http://cjoint.com/?BEyxgea5X7I
Pour pouvoir accéder au code, appuie sur la touche Maj pendant l'ouverture si non, le fichier se ferme après 15 secondes!
;-))
Pour l'autre partie de ta question que j'ai omis de répondre, un fichier exemple :
http://cjoint.com/?BEyxgea5X7I
Pour pouvoir accéder au code, appuie sur la touche Maj pendant l'ouverture
si non, le fichier se ferme après 15 secondes!