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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <STEN83@discussions.microsoft.com> a écrit dans le message de news:
4A5D3C37-291B-474B-B696-35666A94128C@microsoft.com...
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
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