Macro à usage unique
Une solution est de supprimer le code de la macro après son exécution. Ça peut se faire dans les instructions de la macro elle-même. Par exemple, pour exécuter une instruction à l'ouverture du classeur (écrire dans une cellule) puis supprimer la procédure Workbook_Open, recopie ce code dans le module ThisWorkbook :
Private sub Workbook_Open()
Dim liDeb, NbLi
'exécute une action à l'ouverture
Msg = "La procédure Workbook_Open a été exécutée"
ActiveSheet.Range("A1").Value = Msg
'détruit la procédure
'(l'action ne sera donc exécutée qu'une seule fois)
With ThisWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
liDeb = .ProcStartLine("Workbook_Open", 0)
NbLi = .ProcCountLines("Workbook_Open", 0)
.DeleteLines liDeb, NbLi
End With
end subAuteur : Frédéric Sigonneau
Mots clefs associés à cette page : désactiver, macro, supprimer
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

Aide
je n'arrive pas à mettre en place ce code dans mon xlt puis-je avoir de l'aide voici mon code
[code supprimé par webmaster]
forum
Bonjour
Comme indiqué à de multiples reprises sur excelabo, ce site n'est pas un forum de discussion où poser vos problèmes particuliers. Utilisez pour cela le forum microsoft answers excel. Merci
Misange