XL 2016 Auto-suppression classeur

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 !

stefyu89

XLDnaute Nouveau
Je cherche à réaliser une macro qui supprime définitivement le classeur qui la contient après un certain nombre d'ouvertures du classeur. J'imagine que je ne suis pas le seul à y avoir penser. Voici, une ébauche de mon code :

Sub KillWorkbook()

Static iCumul As Integer
iCumul = iCumul + 1
If iCumul >= 3 Then
Kill ThisWorkbook.Path + "\" + ThisWorkbook.Name
End If
End Sub
Ce code est placé dans un module standard et je l'appelle au sein d'une procédure événementielle "Workbook_Open". Merci d'avance pour votre aide.
Cordialement
 
Bonjour,
On ne peut pas supprimer un classeur si celui-ci est actif...
Une solution consiste à ouvrir un classeur tiers quand le cumul est atteint,
qui lui comprend le code de fermeture du ficher à supprimer et le détruit
Dans le fichier tiers cela pourrait ressembler à ceci...
Code:
Private Sub Workbook_Open()
Workbooks("Classeur1.XLSM").Close False
Kill ThisWorkbook.Path & "\" & "Classeur1.xlsm"
End Sub
Avec adaptation du chemin et du nom du classeur
 
Dernière édition:
Merci beaucoup pour la réponse ! Est ce qu'il serait possible de mettre les 2 fichiers dans un dossier ZIP, de cacher le fichier contenant la macro de destruction soit manuellement soit avec un code windows soit en lui donnant un format étranger qui empêcherait à la fois la copie du fichier à détruire et sa relocalisation (je veux dire lui changer de dossier) ? Je sais que mes questions donnent l'impression que je travaille pour l'agent 007 mais bon ...
Magnifique ! Avoir la chance de poser des questions et de construire collectivement un savoir ! Merci aux webmasters pour ce forum et à tous ceux qui y participent activement ou occasionnellement.
 
Merci pour ta réponse ! Est ce qu'il serait possible, par code, d'empêcher la copie et la relocalisation dudit fichier à détruire ainsi que du fichier contenant la macro destructrice ? Cette dernière peut-elle être cachée dans un dossier ZIP apparaissant dans un windows sous un format différent d'un classeur Excel ou en mode caché sans être accessible par l'auteur ?
Je précise que je ne travaille pas pour James Bond ni que je souhaite hacker ou implenter un virus : c'est juste que ma curiosité est en train de s'exprimer. Merci pour vos réponses à tous !
 
...de cacher le fichier contenant la macro de destruction soit manuellement soit avec un code windows soit en lui donnant un format étranger qui empêcherait à la fois la copie du fichier à détruire et sa relocalisation (je veux dire lui changer de dossier) ? Je sais que mes questions donnent l'impression que je travaille pour l'agent 007 mais bon ...
A ces questions, je n'ai pas de réponses, en tous cas, moi je ne sais pas faire, désolé.
 
Bonjour,
Que je sache, Excel ne peut pas empêcher la copie d'un fichier dans Windows...
Si on veut s'assurer que le fichier ne s'exécute que dans un répertoire précis, il suffit de récupérer le ThisWorkbook path lors de l'ouverture et de le comparer à ce qui est attendu,si le résultat n'est pas bon, fermer le fichier...

blord
 
- 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

  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
638
Réponses
2
Affichages
412
Retour