bonjour
Existe-t-il un code pour compter le nombre de fois qu'un fichier est ouvert ?
merci
bonjour
Existe-t-il un code pour compter le nombre de fois qu'un fichier est ouvert ?
merci
Bonjour,
Quel est ton besoin, au juste ? S'agit-il d'un classeur Excel ? Est-ce que tu peux mettre une macro dans ce classeur ?
re
il s'agit bien d'un classeur exel et d'un code vba. je veux pouvoir mettre un nombre maximum d'ouverture du classeur.
Tu exécutes ceci une fois :
Mets la macro suivante dans "ThisWorkbook" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Sub test2() ThisWorkbook.Names.Add "Ctr", 0, False End Sub
Remplace 50. L'avantage de cette procédure est qu'elle utilise un nom défini qui n'apparaît pas dans le gestionnaire de noms.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub Workbook_Open() With ThisWorkbook.Names("Ctr") Var = CInt(Replace(.RefersTo, "=", "")) + 1 If Var = 50 Then ThisWorkbook.Close False ThisWorkbook.Names.Add "Ctr", Var, False End With End Sub
Evidemment, rien n'empêche un utilisateur d'ouvrir le classeur. C'est l'accès aux macros qui est contrôlé.
re
j'ai essayé ta solution , en modifiant le nombre max, mais je n'ai vu aucune conséquence.Ceci dit c'est l'ouverture meme du classeur que je veux empecher.
Mets plutôt :
Au 3e essai, le classeur va s'enregistrer avec le password "motdepasse". Non testé. A essayer sur un classeur de test.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub Workbook_Open() Dim Chemin As String With ThisWorkbook.Names("Ctr") Var = CInt(Replace(.RefersTo, "=", "")) + 1 If Var > 2 Then Chemin = ThisWorkbook.Path ThisWorkbook.SaveAs "C:\temp\" & ThisWorkbook.Name, , Password:="motdepasse" Kill Chemin & "\" & ThisWorkbook.Name ThisWorkbook.SaveAs Chemin & "\" & ThisWorkbook.Name ThisWorkbook.Close False Else ThisWorkbook.Names.Add "Ctr", Var, False End If End With End Sub
Partager