Forum Discussion
Compter le nombre de collaborateur sur un fichier Excel partagé
- Aug 18, 2021
Autant que je me souvienne, seul le premier peut être affiché sous sharepoint.
Pour autant que je me souvienne, il n'y a aucun moyen de voir tous les utilisateurs, pas seulement sous sharepoint.
Cela signifie que vous pouvez toujours voir le premier des classeurs ouvert.
Mais s'il en affiche toujours un, cela signifie que le fichier est ouvert.
Pour faire court, il n'y a aucun moyen de voir tous les utilisateurs à la fois avec VBA, personnellement je ne connais pas d'autre moyen avec office.
Thank you for your understanding and patience
Nikolino
I know I don't know anything (Socrates)
You can use VBA to find out whether a file is already in use, but unfortunately not by whom
... as far as I know (even if that doesn't mean much :)).
With this code you can see if the file is open or not.
Sub test()
If IsWorkbookOpen("Mappe2.xls") Then
MsgBox "OPEN"
Else
MsgBox "CLOSE"
End If
End Sub
I would be happy to know if I could help.
NikolinoDE
I know I don't know anything (Socrates)
* Kindly Mark and Vote this reply if it helps please, as it will be beneficial to more Community members reading here.
Merci pour votre réponse, mais le problème est qu'il faut créé la fonction IsWorkbookOpen.
Sur internet, j'ai trouvé ce code mais sa ne marche pas pour le moment.
Private Function IsWorkbookOpen(wbname) As Boolean
Dim wBook As Workbook
Set wBook = Nothing
On Error Resume Next
Set wBook = Workbooks(wbname)
If wBook Is Nothing Then
IsWorkbookOpen = False
Else: IsWorkbookOpen = True
End If
End Function
seriez vous me dire pourquoi cela n'a pas fonctionner ou auriez vous un code qui fonctionne ?
- NikolinoDEAug 18, 2021Platinum Contributor
Ce texte a été traduit automatiquement, l'utilisateur ne parle pas cette langue.
Vous devez inclure le nom de votre fichier dans votre code. Le fichier que vous voulez voir s'il est ouvert ou non.
Non testé sur Internet : Vous pouvez utiliser le code VBA suivant pour vérifier si le classeur actuel est ouvert ou non.
Sub Informations_utilisateur () 'Si vous voulez l'avoir automatiquement lorsque vous ouvrez le fichier, ajoutez "Auto_Open ()" comme titre Dim Wb As Workbook: Set Wb = Workbooks("Ledossierapprouvé.xlsx") MsgBox " Attention : il utilise actuellement " & UBound(Wb.UserStatus) & _ " Personne(s) ce dossier!", vbInformation End SubCe code est appelé à partir d'un autre classeur, vous pouvez donc voir si le classeur partagé est ouvert ou non.
Veuillez suivre ces instructions.
- Appuyez simultanément sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
- Dans Microsoft Visual Basic pour Applications, cliquez sur Insérer> Module dans la fenêtre. Ensuite, copiez et collez le code VBA suivant dans la fenêtre de code.
Bouton Insérer dans le classeur :
Ouvrez Excel et sélectionnez l'onglet Développeur en haut. Cliquez sur "Insérer" là-bas.
Pour les champs, cliquez sur le premier symbole pour insérer un bouton.
Sélectionnez la position du bouton dans votre classeur et maintenez le bouton gauche de la souris enfoncé pour déterminer la taille. Cela peut être modifié plus tard.
La fenêtre "Attribuer une macro" s'ouvre maintenant. Cliquez sur une macro préalablement définie.
Merci pour votre patience et votre temps.
Nikolino
Je sais que je ne sais rien (Socrate)
- Baptiste_TOUSSEULAug 18, 2021Copper Contributor
Merci pour ces informations, elles m’ont été très utiles. Cependant, il se passe quelque chose de très étrange : j'ai mis mon fichier Excel sur un SharePoint, mais la fonction "UBound(Wb.UserStatus)" ne trouve que le profil de la personne qui ouvre le fichier.
Pour faire des essaies, j'ai trouvé des codes sur internet comme celui-ci.Sub test5() Dim boucle As Integer Dim Affiche As String Users = ActiveWorkbook.UserStatus For boucle = 1 To UBound(Users) Affiche = Affiche & Users(boucle, 1) & vbTab & CDate(Users(boucle, 2)) & vbCrLf Next boucle MsgBox Affiche, vbInformation, "Utilisateurs connectés :" End SubCe code devrait afficher toutes les personnes actuellement connectées sur le fichier, mais la seule information qu'il me donne est mon nom et l'heure de ma connexion. Il ne montre pas mes collègues connectées au même moment sur ce fichier.
Quand je leur demande d’essayer à leur tour sur leur ordinateur, il se passe la même chose ?
Cela n'est-il pas étrange ?- NikolinoDEAug 18, 2021Platinum Contributor
Autant que je me souvienne, seul le premier peut être affiché sous sharepoint.
Pour autant que je me souvienne, il n'y a aucun moyen de voir tous les utilisateurs, pas seulement sous sharepoint.
Cela signifie que vous pouvez toujours voir le premier des classeurs ouvert.
Mais s'il en affiche toujours un, cela signifie que le fichier est ouvert.
Pour faire court, il n'y a aucun moyen de voir tous les utilisateurs à la fois avec VBA, personnellement je ne connais pas d'autre moyen avec office.
Thank you for your understanding and patience
Nikolino
I know I don't know anything (Socrates)