XL 2016 Comment connaitre le nombre de personne ayant ouvert un fichier Excel

Zeous

XLDnaute Nouveau
Bonjour à tous,

Je souhaiterais un moyen de savoir comment connaitre le nombre de personne ayant ouvert un fichier Excel.
Dans le cadre de mon suivi du planning, cela m'aiderait à savoir combien de fois il a été regarder.
Merci d'avance les amis
 

Phil69970

XLDnaute Barbatruc
Bonjour @Zeous

Je te propose ceci

Il compte le nombre de visite par feuille et il y a un onglet Bilan
1632132429855.png


Comme tout fichier excel si on n'enregistre pas le fichier les valeurs ne seront pas comptées.
Faire un enregistrement systématique pourrait être un problème si l'utilisateur fait une erreur de saisie par exemple et change de feuille et si l'enregistrement s'est fait en automatique ==> impossibilité de revenir en arrière donc perte d'info beaucoup plus grave que le nombre de visite sur une page.

*Merci de ton retour

@Phil69970
 

Pièces jointes

  • Compteurs V2.xlsm
    25.4 KB · Affichages: 6

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Zeous, et bienvenu sur XLD,
Tout d'abord Attention. Ce genre de chose peut être assimilé à un "cookie", et donc le minimum est de prévenir l'utilisateur que sa visite sera tracée avec la possibilité de sortir.
Ne pas faire cela pourrait aujourd'hui être considéré comme illégal car on trace sans prévenir.
En PJ un essai. La demande de confirmation se fait à l'ouverture. Si l'utilisateur répond Non alors on sort du fichier. S'il répond Oui alors on trace sa visite avec le nom du PC du visiteur ainsi que la date.
Celle ci est tracée dans la feuille Admin qui est cachée, son mot de passe est "admin".
Avec dans Thisworkbook :
VB:
Private Sub Workbook_Open()
    Chaine = "Attention, la consultation de ce planning " & Chr(10) & _
            "donnera lieu à un enregistrement de qui et quand." & Chr(10) & Chr(10) & _
            "Cliquez sur Oui si acceptation et sur Non pour sortir"
    Application.ScreenUpdating = False
    If MsgBox(Chaine, vbYesNo, "Traçabilié de consultation") = vbYes Then
        ' Si acceptation on trace la visite
        Sheets("Admin").Unprotect ("admin")                     ' Déprotection de la feuille Admin
        DL = 1 + Sheets("Admin").Range("A65500").End(xlUp).Row  ' Dernière ligne
        Sheets("Admin").Range("A" & DL) = Environ("COMPUTERNAME")   ' Qui
        Sheets("Admin").Range("B" & DL) = Now                   ' Quand
        Sheets("Admin").Protect ("admin")                       ' Protection de la feuille Admin
        ThisWorkbook.Save                                       ' Sauvegarde
    Else
        ' Si refus on sort sans enregistrer
        ActiveWorkbook.Close Savechanges:=False
        Application.Quit
    End If
    Application.ScreenUpdating = True
End Sub
Attenstion cependant, si plusieurs utilisateur ouvre le fichier en même temps, alors seul le dernier qui enregistrera sera tracé, car XL en natif n'est pas partageable. C'est le dernier qui enregistre qui gagne.
Mais au moins c'est une piste.
 

Pièces jointes

  • Tracabilité.xlsm
    15.7 KB · Affichages: 10

Phil69970

XLDnaute Barbatruc
Bonjour Sylvain

Je suis pas sur que @Zeous veuille connaitre qui à ouvert son fichier mais juste combien de fois il a été ouvert.
comment connaitre le nombre de personne ayant ouvert un fichier Excel.

cela à l'avantage d’être anonyme vu que l'on récupère juste le nombre de personne et donc plus besoin de prévenir l'utilisateur.

Il a donc le choix entre 2 approches si c'est juste tout le classeur ou un décompte onglet par onglet

@Phil69970
 

Jacky67

XLDnaute Barbatruc
Bonjour à tous,

Je souhaiterais un moyen de savoir comment connaitre le nombre de personne ayant ouvert un fichier Excel.
Dans le cadre de mon suivi du planning, cela m'aiderait à savoir combien de fois il a été regarder.
Merci d'avance les amis
Bonjour à tous,:)
Autre proposition
Ceci, placé dans le thisworkbook du classeur en question, crée un fichier texte et ajoute à chaque ouverture du classeur : la date, l'heure, le nom de l'utilisateur et le nom du Pc
Dans cet exemple, le fichier .txt est dans le répertoire du fichier source.

VB:
Private Sub Workbook_Open()
    Dim Repertoire As String, nom As String
    Repertoire = ThisWorkbook.Path     ' A adapter si besoin
    nom = Repertoire & "\Ouverture de " & ThisWorkbook.Name & ".txt"
    Open nom For Append As #1
    Print #1, ThisWorkbook.Name & " Accédé le " & Format(Date, "ddd dd mmm yyyy") & " à " & Time _
            & " par " & Environ("username") & " sur le pc "; Environ("COMPUTERNAME")
    Close #1
End Sub
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Alors ça doit dépendre de la version car Excel 2010, 2016 et 2019 savent partager un classeur.
Marcel, évidemment qu' XL peut être partagé. Je voulais dire par là que si A ouvre le fichier, B ouvre le fichier, A l'enregistre puis B enregistre. Seules les données de B seront enregistrées car le fichier de A sera écrasé.
Donc en l'occurrence, ici, la traçabilité de A sera détruite.
D'où l'idée lumineuse de Jacky. Avec un fichier tiers, qui plus est txt, la traça est assurée.
 

TooFatBoy

XLDnaute Barbatruc
Marcel, évidemment qu' XL peut être partagé. Je voulais dire par là que si A ouvre le fichier, B ouvre le fichier, A l'enregistre puis B enregistre. Seules les données de B seront enregistrées car le fichier de A sera écrasé.
Je crois que tu confonds le partage de fichier fait sous l'OS qui provoque le problème que tu décris, et le partage comme je l'ai dit effectué par Excel qui permet justement d'éviter l'inconvénient que tu décris.

Perso, au boulot je fais partager le fichier par Excel, et comme Jacky67 je crée aussi un fichier texte pour le suivi (mais je "crypte" le contenu, je change l'extension "txt" généralement en "log" ou "jky" ou "j67", et je mets ce fichier dans un autre dossier où tout le monde a accès en écriture).
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
le partage comme je l'ai dit effectué par Excel
Exact. Je ne faisais référence qu'à ce que j'ai vécu.
Le partage par XL suppose que tous les intervenants soient déclarés.
Mais dans une grosse boite, surtout pour un planning, les acteurs peuvent l'utiliser mais aussi la hiérarchie, les services , les RH ... Je ne suis jamais parvenu à gérer correctement tout ce monde sauf à y passer des heures à déclarer tout le monde.
Mais c'est vrai que le txt offre l'avantage de la simplicité.
 

TooFatBoy

XLDnaute Barbatruc
Le partage par XL suppose que tous les intervenants soient déclarés.
Au boulot je ne déclare personne.

Les gens n'ayant pas accès en lecture au dossier où se trouve le classeur, ne peuvent évidemment pas ouvrir le classeur.

Les gens ayant accès uniquement en lecture au dossier où se trouve le classeur, ne peuvent évidemment pas enregistrer de modifications dans le classeur.

Les gens ayant accès en lecture et écriture au dossier où se trouve le classeur, peuvent enregistrer des modifications dans le classeur.


D'après ce que j'ai constaté, il me semble que si plusieurs personnes modifient en même temps le classeur :
- pour les cellules différentes, lors de l'enregistrement Excel dit que le classeur a été enregistré avec les modifications d'autres utilisateurs,
- pour les mêmes cellules, lors de l'enregistrement Excel demande quoi faire pour chaque cellule litigieuse.


Sur ce, bonne soirée à tous 👋
 

Discussions similaires

Statistiques des forums

Discussions
314 450
Messages
2 109 726
Membres
110 552
dernier inscrit
jasson