XL 2013 Rendre une macro inutilisable après utilisation

  • Initiateur de la discussion Initiateur de la discussion R.R.
  • 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 !

R.R.

XLDnaute Nouveau
Bonjour à toutes et à tous,

Je cherche, sans trouver, le code VBA qui me permettrait de rendre inutilisable une macro, ou le bouton d'une macro, après que celle-ci ait fait son oeuvre. Je l'utilise pour la réalisation d'un test éliminatoire.

Concrètement, j'ai un feu tricolore. Quand je clique sur le bouton rouge, ma macro s'exécute : elle affiche une valeur et marque un message comme quoi le test est terminé. Mais si je re-clique sur la macro, elle s'exécute de nouveau, ce que je voudrais éviter, puisque le test est terminé.

J'ai essayé avec un Exit Sub à la fin de la macro, sans réussir. J'ai trouvé comment "détruire" la macro, mais ce n'est pas ce que je veux. Ainsi, je fais appelle à vous pour quelque chose qui doit pourtant être très simple.

Merci d'avance à ceux qui me fourniront la réponse 🙂
 
Re : Rendre une macro inutilisable après utilisation

Bonjour à toutes et à tous,

... Quand je clique sur le bouton rouge, ma macro s'exécute... Mais si je re-clique sur la macro, elle s'exécute de nouveau, ce que je voudrais éviter, puisque le test est terminé...

Autre possibilité : supprimer le bouton après traitement.

Double bise, JCGL 😀,

A bientôt 🙂
 
Re : Rendre une macro inutilisable après utilisation

Bonjour à tous,

Comme le dit JCGL ... avec un simple compteur ... tu pourras éviter que la macro soit relancée ...

Mais si tu veux vraiment "détruire" ta macro ... il te faudra passer par VBE ... avec une référence à la librairie :

Microsoft Visual Basic Extensibilty 5.3

A +
🙂
 
Re : Rendre une macro inutilisable après utilisation

Re-bonjour,

Une autre idée : rendre le bouton inactif.

Code:
Option Explicit
Sub Macro_1_fois()
' code souhaité...
    [a1] = "toto"
    ActiveSheet.Shapes("Bouton_rouge").OnAction = ""    ' nom du bouton adapter
End Sub

A bientôt 🙂
 
Re : Rendre une macro inutilisable après utilisation

Bonjour à tous 🙂,

Un fichier pour illustrer. Une méthode utilisant une forme et une autre utilisant un CommandButton (ActiveX). A chaque ouverture du fichier, on ré-active les codes. Si on ne le désire pas, supprimer le code de ThisWorkbook.
 

Pièces jointes

Re : Rendre une macro inutilisable après utilisation

Hello tout le monde

Merci pour vos réponses !!! J'ai eu quelques difficultés à retranscrire vos solutions dans mon fichier, mais ça y est !!! J'y suis 😀 Encore un immense merci à vous tous. J'ai bien compris les démarches, mais j'ai quand même une question : quelle est la signification de "Nop" ???

Au plaisir de vous reposer quelques problèmes un de ces jours pour vous relire 😉

R.R.
 
Re : Rendre une macro inutilisable après utilisation

Euh , en fait j'ai été un peu vite.
Toutes mes macros sont dans "Module 1", notamment "ReInit" et "Nop". J'ai placé le bout de code concernant la réinitialisation concernant ce module dans l'objet "Thisworkbook". Mais visiblement, l'appel de la macro ReInit ne se fait pas comme il faudrait. J'ai écrit la chose suivante :

Option Explicit
Private Sub Workbook_Open()
Call Module1.ReInit
End Sub

Mais le fichier ne se réinitialise pas ... 🙁
 
Re : Rendre une macro inutilisable après utilisation

Bonsoir R.R. 🙂,

[...] j'ai quand même une question : quelle est la signification de "Nop" ? [...]

NOP = "No operation" -> une procédure qui ne fait rien...

[...] Euh , en fait j'ai été un peu vite. [...]
En effet, vous avez oublié de joindre le fichier 🙁
 
Re : Rendre une macro inutilisable après utilisation

Bonjour à tous,

Il me semble que tu tournes sous Mac.
La procédure WorkBook_Open doit être placée dans le module ThisWorkBook :

Modules_ThisWorkBook.JPG

A+ à tous
 

Pièces jointes

  • Modules_ThisWorkBook.JPG
    Modules_ThisWorkBook.JPG
    8.3 KB · Affichages: 57
Dernière édition:
- 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 Bug sur une macro
Réponses
6
Affichages
349
Réponses
5
Affichages
405
  • Question Question
Microsoft 365 Macro VBA - Excel
Réponses
12
Affichages
626
Réponses
5
Affichages
379
Retour