Bonjour,
Sauf erreur de ma part, la boîte de dialogue Macros n'affiche pas les procédures présentes dans un fichier xlam
Que voulez-vous faire exactement ?
Si c'est lancer une procédure présente dans votre fichier xlam, il y a plusieurs possibilités
- Celles que je décris dans le chapitre UTILISATION DES PROCEDURES D'UN COMPLEMENT
- Lancer la procédure depuis une procédure d'un classeur xlsm ou xlsb (voir ci-dessous)
- Créer un menu dynamique qui est l'objet de mon prochain billet dans la série sur le sujet des "Macros complémentaires"
Ces quelques lignes ci-dessous pourront peut-être vous aider
===== Extrait de mon prochain billet titré
Macros complémentaires - Menu dynamique pour exécuter une procédure =====
Lorsque l'on écrit une application pilotée par un fichier suffixé
XLAM (Macro complémentaire ou Add-In) l'utilisateur doit pouvoir invoquer lui-même des procédures.
Il y a plusieurs possibilités pour le faire, soit nous utiliserons la méthode
Run, pour les
Sub et les
Function soit un menu pour les Menu.
- Sub : la méthode Run de l'objet Application, l'utilisation de bouton Menu personnalisé piloté par exemple par l'objet CommandBar. C'est l'objet de ce billet.
- Function : la méthode Run de l'objet Application
Pour rappel, il est possible d'utiliser une fonction personnalisée directement depuis une cellule d'Excel
Dans tous les exemples présentés ici, on suppose bien entendu que la macro complémentaire est chargée, voir le billet sur ce sujet
Créer une macro complémentaire et
Charger dynamiquement une macro complémentaire - Quelques procédures intéressantes
METHODE RUN DE L'OBJET Application
La méthode
Run, exécute une procédure
Sub, macro, ou invoque une fonction (
Function). Elle peut être utilisée pour exécuter une macro écrite en
VBA ou dans le langage de macro de Microsoft Excel, ou pour exécuter une fonction dans une
DLL ou une
XLL.
La syntaxe est
Application.Run NomMacro Arg_1, Arg_2, Arg_3,.......Arg_30 ou
MsgBox Application.Run NomMacro Arg_1, Arg_2, Arg_3,.......Arg_30
Important : Nous ne pouvons pas utiliser des arguments nommés avec cette méthode. Ils doivent donc être transmis par position
Une procédure Sub
sans paramètre La procédure se nomme
ShowAbout
Application.Run "ShowAbout"
Partager