Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
j'ai un fichier excel que je prête à d'autres personnes, mais je voudrais pouvoir mettre une macro qui pourrait à un jour précis détruire mon fichier excel et leur laisser un petit message que la démo est terminée
remarque au passage :
pour une version d'essai (et non de démo pour une GPAO) l'utilisateur va rentrer des données réelles en général, pour voir si ça correspond à son besoin.
il faut alors éviter d'effacer son travail au bout des X jours.
il vaut mieux bloquer l'appli, mettre un message sympa qui invite à débloquer (grâce à un p'tit coup de carte bleue) et qui précise qu'en 3 minutes il va pouvoir continuer à bosser sans perte de données.
mais ce n'est qu'un avis perso
regarde ce qui se fait ailleurs en la matière, et imagine-toi être à la place de l'utilisateur.
j'ai ceci comme macro mais elle ne fonctionne pas !
dans ThisWorkbook :
Private Sub Workbook_Open()
' 17 juillet 2008 -> le fichier s'auto détruit
If Date > DateSerial(2008, 7, 17) Then
Suicide
Else 'Pas nécessaire à toi de décider
MsgBox "Bienvenue à toi"
End If
End Sub
dans un module normal:
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:=False
End With
End Sub
merci de votre aide car je ne comprend pas pourquoi cela ne fonctionne pas !
Mais encore une fois, si je désactive les macros à l' ouverture de ton classeur
A quoi ca sert tout cela ????
Code:
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 = .Name Then
Application.RecentFiles(Ndx).Delete
Exit For
End If
Next Ndx
.ChangeFileAccess Mode:=xlReadOnly
Kill .FullName
.Close SaveChanges:=False
End With
End Sub
ok Staple1600 !
j'ai compris, car j'ai testé et cela ne fonctionnais pas car j'avais mis la date d'aujourd'hui mais si je mets la date de hier cela fonctionne !
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD