Compteur de visite pour un fichier Excel

Bonjour, je mets sur l'intranet au travail des fichiers excel et j'aimerais mettre un compteur de visite pour savoir combien de gens les utilisent. J'aimerais que ca s'enregistre a chaque fois. J'ai essayer ca, et sa fais pas ce que je veux :

Private Sub Worksheet_Activate()

Range("A1").Value = Range("A1").Value + 1

End Sub

Merci, de m'aider

Bonsoir

essayes dans le code de l'objet ThisWorkbook

Private Sub Workbook_Open()
  With Sheets("La feuille qui va bien")
    .Range("A1").Value = .Range("A1").Value + 1
  End With
End Sub

Salut le forum

Il faut penser aussi à sauvegarder le fichier lors de la fermeture de celui-ci, sinon le compteur n'est

pas d'une grande utilité.

Private Sub Workbook_BeforeClose(Cancel As Boolean) 
    ActiveWorkbook.Close True  
End Sub

Mytå

Bonjour, merci beaucoup pour vos réponses et désolé d'avoir pris longtemps avant de répondre. Maintenant, j'aimerais savoir si on peut mettre un compteur caché dans un document que les gens ouvre en lecture seule? Merci de partager vos connaissances,

Jonathan

Re le forum

stpjoh01 a écrit :

Maintenant, j'aimerais savoir si on peut mettre un compteur caché dans un document que les gens ouvre en lecture seule?

Non, comment veux-tu qu'il garde sa valeur tu ne peux pas l'enregistrer.

Mytå

Salut,

Tu peux eventuellement mettre un compteur sur une feuille caché... a essayer si l'incrémentation fonctionne.

Sinon toujours dans une feuille cachée, un truc du genre afficher la feuille, incrémenter, masquer la feuille.

Private Sub Workbook_Open()
Sheets("feuil3").Visible = True
With Sheets("Feuil3")
    .Range("A1").Value = .Range("A1").Value + 1
End With
Sheets("feuil3").Visible = xlVeryHidden
ActiveWorkbook.Save
End Sub

Kikoo

161classeur1.zip (6.46 Ko)

Re le forum

Kikooisachef, le fichier est en lecture seule le compteur ne fonctionnera pas sur l'ouverture suivante.

je mets sur l'intranet au travail des fichiers excel et j'aimerais mettre

un compteur de visite pour savoir combien de gens les utilisent.

Une alternative créer un fichier texte et aller modifier le compteur à l'ouverture du fichier.

On pourrait inscrire le nom de l'utilisateur, la date et l'heure de consultation.

Sub ExportRangeVersTxt()
Dim DestFile$, f%
  DestFile = "d:\testText1.txt"
  f = FreeFile
  Open DestFile For Append As #f
  With Range("A1:B5")
    For c = 1 To .Columns.Count
        For r = 1 To .Rows.Count
            Print #f, .Cells(r, c).Text
        Next r
    Next c
  End With
  Close #f
End Sub

Mytå

Bonjour

Une autre solution serait de protéger le fichier, en verrouillant toutes les cellules sauf celle du compteur. Ainsi, les utilisateurs n'ont pas possibilité de modifier le fichier (équivalent de la lecture seule) et la cellule du compteur peut se mettre à jour grâce aux macros déjà proposées.

Un autre petit truc : sauvegarder le fichier juste après l'incrémentation du compteur, cela évite une sauvegarde avec des modifications non désirées d'autres données.

Cordialement,

Rechercher des sujets similaires à "compteur visite fichier"