OVH Cloud OVH Cloud

Temps d'utilisation!

1 réponse
Avatar
STEN83
Bonjour, j'ai un programme que j'aimerai mettre en evaluation pour une
période de 30 jours.
Lors de la première ouverture j'aimerai que s'affiche une boîte de dialogue
du style:"Vous avez 30 jours pour essayer ce programme".
Ce message ne doit apparaître que la première fois que l'on ouvre le
programme après pour les autres ouvertures je voudrais une autre boîte de
dialogue qui decompte le nombre de jours d'utilisations du programme restant.
A savoir que celui-ci peut être ouvert plusieurs fois par jour mais ne doit
decompter qu'un seul jour donc la boîte de dialogue ne doit s'ouvrir qu'une
seule fois aussi.
Et enfin à la fin de la période d'essai un message stipulant que si
l'utilisateur veut continuer à ce servir du programme il doit acquérir un
numéro de licence, naturellement le programme ne doit pas s'ouvrir.
J'espère être clair dans mes explications, merci pour vos conseils.
--
Le partage du savoir contribue à l'amélioration de la condition humaine!
Merci à tous

1 réponse

Avatar
MichDenis
Attention : Fais le test dans une copie de ton fichier originaire... !

Dans ton classeur, tu ajoutes une feuille de calcul et
dans la cellule A1, tu mets la formule suivante : = aujourdhui()

Par une petite macro tu peux la cacher pour qu'elle soit totalement
inaccessible de la part de l'usager, pour ce faire :
Worksheets("Feuil1").Visible = xlVeryHidden

Et tu copies ce qui suit dans le ThisWorkbook de ton classeur.
Si l'usager ouvre le fichier après la date permise, le fichier est
totalement détruit ... disparait du disque dur.

Remplace le nom de la feuil1 dans la procédure par le nom de la feuille
que tu donneras dans ton application à cette feuille de service .

'--------------------------------
Private Sub Workbook_Open()

Dim LaDate As String
With Worksheets("Feuil1")
If .Range("A1").HasFormula Then
LaDate = .Range("A1")
LaDate = DateSerial(Year(LaDate), _
Month(LaDate) + 1, Day(LaDate))
.Range("A1").Value = LaDate
MsgBox "La période d'essai se se termine le :" & _
Format(Date, "dddd, d mmmm yyyy") & "."
Else
If CLng(Date) > CLng(CDate(.Range("A1"))) Then
Call Suicide
End If
End If
End With
End Sub
'--------------------------------

Sub Suicide()
Dim FName As String
Dim Ndx As Integer
With ThisWorkbook
.Save
For Ndx = 1 To Application.RecentFiles.Count
If Application.RecentFiles(Ndx).Path = .FullName Then
Application.RecentFiles(Ndx).Delete
Exit For
End If
Next Ndx
.ChangeFileAccess Mode:=xlReadOnly
Kill .FullName
.Close SaveChanges:úlse
End With
End Sub
'--------------------------------



"STEN83" a écrit dans le message de news:

Bonjour, j'ai un programme que j'aimerai mettre en evaluation pour une
période de 30 jours.
Lors de la première ouverture j'aimerai que s'affiche une boîte de dialogue
du style:"Vous avez 30 jours pour essayer ce programme".
Ce message ne doit apparaître que la première fois que l'on ouvre le
programme après pour les autres ouvertures je voudrais une autre boîte de
dialogue qui decompte le nombre de jours d'utilisations du programme restant.
A savoir que celui-ci peut être ouvert plusieurs fois par jour mais ne doit
decompter qu'un seul jour donc la boîte de dialogue ne doit s'ouvrir qu'une
seule fois aussi.
Et enfin à la fin de la période d'essai un message stipulant que si
l'utilisateur veut continuer à ce servir du programme il doit acquérir un
numéro de licence, naturellement le programme ne doit pas s'ouvrir.
J'espère être clair dans mes explications, merci pour vos conseils.
--
Le partage du savoir contribue à l'amélioration de la condition humaine!
Merci à tous