Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA : supprimer un classeur à sa fermeture

dionys0s

XLDnaute Impliqué
Bonjour le forum ^_^

Je cherche à supprimer (kill) un classeur lors de sa fermeture. Ca peut vous sembler tordu, mais ça ne l'est pas. Ce n'est pas un classeur temporaire (il est enregistré), et l'utilisateur qui va utiliser le fichier va le générer en pdf et l'enregistrer ailleurs. Il n'est donc plus utile et j'aimerais qu'il se supprime automatiquement du répertoire où il est enregistré. J'ai bien trouvé un topic à ce sujet sur XLD (lien) mais qui ne concerne qu'un fichier qui n'a pas été enregistré.

Avez-vous une idée de comment procéder ? Idéalement, j'imagine que ce code serait à intéger dans le ThisWorkbook beforeclose non ?

D'avance merci pour votre aide
 

dionys0s

XLDnaute Impliqué
Re : VBA : supprimer un classeur à sa fermeture

Re tout le monde
bonsoir sigismond

c'est redoutable ce fichier !! Et comment on fait pour se procurer le code ?
En revenche c'est curieux que le fichier de Staple ne marche pas pour toi. J'ai excel 2003 et il fonctionne au poil sur mon ordi.


Bon week end tout le monde (derechef)
 

sigismond

XLDnaute Occasionnel
Re : VBA : supprimer un classeur à sa fermeture

re,

Dyonisos, le fait que le code suicide1 fonctionne chez toi m'a titillé.

J'ai réussi à le faire marcher en modifiant un paramètre de sécurité. il s'agit de :
Menu/Outils/Options/Sécurité/Sécurité des macros/Editeurs approuvés/Faire confiance au projet Visual Basic

Comment j'ai fait le lien entre Erreur 1004 et ça ? ben avec l'aide pardi !

Bon Week End

Sigismond
 

Staple1600

XLDnaute Barbatruc
Re : VBA : supprimer un classeur à sa fermeture

Bonsoir à tous


Bonjour Staple, Softmama,
Re,

Chapeau bas, je crois que j'aurais mis un certain temps à faire ça

Les félicitations sont adressés à Masaru Kaji

Un harakiri par jour suffit
C'est pour cela que je n'avais mis qu'un seul exemple d'AutoTermination d'un workbook (comme disait Arnold avant qu'il soit Gouverneur ... )

PS: j'avais omis d'indiquer la manip relatée par Sigismond dans son message de 21h28
 
Dernière édition:

pedrag31

XLDnaute Occasionnel
Re : VBA : supprimer un classeur à sa fermeture

Bonjour le fil, le forum,

Un seul mot à dire "Magnifique!"
Je patinais déjà depuis un moment sur le fichier qui s'autodétruit après fermeture.

Bonne journée
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : VBA : supprimer un classeur à sa fermeture

Bonjour à toutes et à tous,

Bon sang de bon sang,
Redoutable et dangereux votre truc mais super quand on veut protéger "nos secrets de travail" dans certaines situations.
Bonne soirée à toutes et à tous,
Amicalement,
Lionel,
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : VBA : supprimer un classeur à sa fermeture

LOL AU SECOURS,

Depuis que j'ai utilisé pour le tester votre Killer, j'ai un message qui s'affiche à chaque ouverture d'un classeur et mes macros ne s'activent plus.

Pourriez-vous m'aider à trouver ce qu'il faut modifier ?
Un grand Merci
Amicalement,
Lionel,
 

Pièces jointes

  • Box ouverture excel suite ouverture classeur autodestruction.jpg
    40.4 KB · Affichages: 72

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : VBA : supprimer un classeur à sa fermeture

Bonjour Sigismond .... à toutes et à tous,

Cette macro est super.
Toutefois, j'aimerais pouvoir mettre un code qui lui indique une date d'exécution et je n'y arrive pas.
Code:
Private Sub Workbook_Open()
If "TODAY()=42286" Then
    'MsgBox ("ceci est un message qui ne laisse pas de trace")
    Call Suicide1
End If
End Sub

Pourriez-vous m'aider car ça beugue sur : If "TODAY()=42286" Then
Un grand merci,
Amicalement,
Lionel,
 

dionys0s

XLDnaute Impliqué
Re : VBA : supprimer un classeur à sa fermeture

Bonjour tout le monde,

Suggestion non testée :
VB:
Private Sub Workbook_Open()
If Date = DateSerial(2015, 10, 8) Then
    'MsgBox ("ceci est un message qui ne laisse pas de trace")
    Call Suicide1
End If
End Sub
 
Dernière édition:

dionys0s

XLDnaute Impliqué
Re : VBA : supprimer un classeur à sa fermeture

Re,

Autre suggestion non testée :
VB:
Private Sub Workbook_Open()
If CLng(Date) = 42285 Then
    'MsgBox ("ceci est un message qui ne laisse pas de trace")
    Call Suicide1
End If
End Sub
 

Discussions similaires

Réponses
2
Affichages
135
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…