XL 2016 Autodestruction fichier si suppression d'une image

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

  • Fichier test suppression sous condition.xlsx
    21.8 KB · Affichages: 47

Lone-wolf

XLDnaute Barbatruc
Bonsoir jcn

Un exemple avec un contrôle image. Clique sur l'image(les celulles sont éffacées). L'image sera visible en selectionnant la feuille.
 

Pièces jointes

  • Classeur1.xlsm
    114.1 KB · Affichages: 36
Dernière édition:

chris

XLDnaute Barbatruc
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
 

jcn

XLDnaute Nouveau
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

  • Fichier test suppression sous condition base - Test 1.xlsm
    27.7 KB · Affichages: 30

Victor21

XLDnaute Barbatruc
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
 

Staple1600

XLDnaute Barbatruc
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.
 

jcn

XLDnaute Nouveau
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 ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 168
Messages
2 085 906
Membres
103 028
dernier inscrit
MLAGHITI