XL 2016 Autodestruction fichier si suppression d'une image

  • Initiateur de la discussion Initiateur de la discussion jcn
  • Date de début Date de début

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 !

jcn

XLDnaute Nouveau
Bonjour à tous

Je cherche une formule VBA qui permettrait qu'un fichier Excel s'autodétruise ou que toutes les données contenues dedans s'effacent lors de sa fermeture si au préalable l'utilisateur à supprimer une image contenue dans le fichier en question.

J'ai bien trouvé des macros d'autodestruction, mais toutes sont liées à des dates de péremption :/

Merci d'avance de vos réponses
 

Pièces jointes

Bonjour à tous

Je te conseille de nommer de manière identique chaque image, par exemple MonImage

Dans le module Workbook
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Call VerifImage
End Sub

Dans un Module
Code:
Option Explicit
Sub VerifImage()
'
Dim Ws As Worksheet, Im As Shape, Trouve As Boolean

For Each Ws In Worksheets(Array("Onglet 1", "Onglet 2"))
    Trouve = False
    For Each Im In Ws.Shapes
        If Im.Name = "MonImage" Then Trouve = True: Exit For
    Next
    If Trouve = False Then Call AutoKill
Next
End Sub

Sub AutoKill()
'autodestruction de fichier Excel (le fichier s'efface lui-même)
    Dim NomComplet As String
    NomComplet = Application.ActiveWorkbook.FullName
    ActiveWorkbook.Saved = True
    Application.ActiveWorkbook.ChangeFileAccess xlReadOnly
    Kill NomComplet
    Application.ActiveWorkbook.Close False
End Sub
 
Merci de vos réponses

J'ai essayé de coller les codes que chris a donné, mais ça ne fonctionne pas. Excel me renvoi une erreur à la fermeture du fichier, que l'image soit supprimée ou pas.

Message d'erreur qui apparait pour le Worbook
Erreur de compilation : Sub ou Fonction non définie

Comprends pas 🙁
 

Pièces jointes

Merci de vos réponses

J'ai essayé de coller les codes que chris a donné, mais ça ne fonctionne pas. Excel me renvoi une erreur à la fermeture du fichier, que l'image soit supprimée ou pas.

Message d'erreur qui apparait pour le Worbook
Erreur de compilation : Sub ou Fonction non définie

Comprends pas 🙁

Bonsoir à tous.

Déplacez le code placé dans Feuil1 ( VerifImage() et Autokill() )dans un module standard, et dites-nous
 
Bonsoir le fil, le forum

@jcn
Pour info
L'autodestruction ne fonctionne que si on active les macros.
Or les gens prudents (as I am) n'ouvrent jamais un classeur en activant les macros lors de la première ouverture d'un classeur.

NB: On peut supprimer une image par erreur (F5->Objets-> Suppr)
Dans ce cas, le fichier sera détruit alors qu'il n'aurait peut-être pas du l'être.
 
Re

@jcn
Je pue de la gue*le ou des pieds?
(voir le message#10)
Ce qui qui expliquerait le zappage 😉

Ha haaa non pas du tout je te rassure. C'est juste que la macro en question est destinée à un fichier qui en comporte beaucoup d'autres et qu'il ne présente aucun intérêt si ces autres macros ne sont pas actives. L'utilisateur est donc de toute façon obliger de les activer si il veut pouvoir l'utiliser 😉
 
- 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

Discussions similaires

Retour