Comment lancer une macro d'un autre classe

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 !

Re : Comment lancer une macro d'un autre classe

Bonsoir.
Le plus simple c'est de l'affecter à un bouton de formulaire.
Sinon il y a Application.Run suivi de ce qu'on retrouve dans la propriété OnAction du bouton de formulaire.
Donc ça vaut le coupe de l'affecter même si on ne veut pas garder ce système. Surtout si le classeur contenant la macro est fermé.
À ce propos ne pas oublier de le fermer avant de récupérer la propriété OnAction, car le chemin n'y figure pas quand il est ouvert.
 
Re : Comment lancer une macro d'un autre classe

Bonsoir.
Le plus simple c'est de l'affecter à un bouton de formulaire.
Sinon il y a Application.Run suivi de ce qu'on retrouve dans la propriété OnAction du bouton de formulaire.
Donc ça vaut le coupe de l'affecter même si on ne veut pas garder ce système. Surtout si le classeur contenant la macro est fermé.
À ce propos ne pas oublier de le fermer avant de récupérer la propriété OnAction, car le chemin n'y figure pas quand il est ouvert.

Bonjour
Désolé mais je suis novice et j'ai du mal à comprendre ta réponse.
peux-tu préciser?
Merci
 
Re : Comment lancer une macro d'un autre classe

Bonjour.

Préciser quoi ?

Bouton de formulaire : forme dessinée ayant l'aspect d'un bouton de commande, mais qui n'en est pas un.
Run, méthode

Voir aussi S'applique à Exemple Spécificités
Méthode Run telle qu'elle s'applique à l'objet Range.
Cette méthode exécute la macro Microsoft Excel à cet endroit. La plage doit se trouver dans une feuille macro.
expression.Run(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29, Arg30)

expression Obligatoire. Expression qui renvoie un objet Range.
Arg1-Arg30 Arguments de type Variant facultatifs. Arguments à transmettre à la fonction.


Méthode Run telle qu'elle s'applique à l'objet Application.
Cette méthode exécute une macro ou appelle une fonction. Elle peut être utilisée pour exécuter une macro écrite en Visual Basic ou dans le langage de macro de Microsoft Excel ou pour exécuter une fonction dans une DLL ou une XLL.
expression.Run(Macro, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29, Arg30)

expression Obligatoire. Expression qui renvoie un objet Application.
Macro Argument de type Variant facultatif. Macro à exécuter. Il peut s'agir d'une chaîne de caractères contenant le nom de la macro, d'un objet Range indiquant l'endroit où se trouve la fonction ou encore d'un identificateur de Registre pour une fonction DLL (XLL) inscrite dans le Registre. En cas d'utilisation d'une chaîne de caractères, celle-ci sera évaluée dans le contexte de la feuille active.
Arg1-Arg30 Argument de type Variant facultatif. Arguments à transmettre à la fonction.


Notes

Vous ne pouvez pas utiliser d'arguments nommés avec cette méthode. Ils doivent être transmis par position.
La méthode Run renvoie ce que la macro exécutée renvoie. Les objets qui sont transmis à la macro en tant qu'arguments sont convertis en valeurs (en appliquant la propriété Value à l'objet). Cela signifie que vous ne pouvez pas passer d'objets aux macros à l'aide de la méthode Run.
Exemple

Cet exemple montre comment appeler la fonction macro My_Func_Sum, qui est définie dans la feuille macro MyCustom.xlm (cette dernière doit être ouverte). Dans cet exemple, la fonction accepte deux arguments numériques, 1 et 5.

mySum = Application.Run("MYCUSTOM.XLM!My_Func_Sum", 1, 5) MsgBox "Macro result: " & mySum
OnAction, propriété
Voir aussi S'applique à Exemple Spécificités
Renvoie ou définit le nom de la macro Visual Basic exécutée si l'utilisateur clique sur le contrôle de barre de commandes ou change sa valeur. Type de données String en lecture-écriture.

Remarque L'application conteneur détermine s'il s'agit d'un nom de macro valide.

Exemples
Cet exemple montre comment ajouter un contrôle de barre de commandes à la barre intitulée « Custom » et spécifier que la macro intitulée « MySub » doit être exécutée sur simple clic du bouton.

Set myBar = CommandBars("Custom")
Set myControl = myBar.Controls _
.Add(Type:=msocontrolButton)
With myControl
.FaceId = 2
.OnAction = "MySub"
End With
myBar.Visible = True
Cet exemple montre comment ajouter un contrôle de barre de commandes à la barre intitulée « Custom ». Le contrôle ajouté est appelé « FinanceAddIn » et s'exécute sur un simple clic du bouton.

Set myBar = CommandBars("Custom")
Set myControl = myBar.Controls _
.Add(Type:=msocontrolButton)
With myControl
.FaceId = 2
.OnAction = "!<FinanceAddIn>"
End With
myBar.Visible = True
 
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

Réponses
5
Affichages
112
Réponses
11
Affichages
200
  • Question Question
XL 2019 User Form
Réponses
9
Affichages
317
  • Question Question
Microsoft 365 macro TCD
Réponses
4
Affichages
241
Retour