Appeler une macro via un userform

Bonjour,

Ayant plusieurs macro je voudrais faire une mise en page propre afin de choisir les macros adéquat. J'ai donc créé une macro qui m'ouvre un userform contenant différents boutons. Je souhaiterais ouvrir mes différentes macros via ces boutons. Le problème est que je n'ai aucune idée de comment faire appel à ces dernières. 

J'ai essayé avec ça : 

Private Sub CommandButton2_Click()
Dim swApp As SldWorks.SldWorks

    Set swApp = Application.SldWorks
    
    RunMacro "\\***-srv-fic-01.******.local\OneDrive$\_Solidworks ressources\Modèles ******\Macro.swp", "Macro", "main"
    

Sub RunMacro(path As String, moduleName As String, procName As String)
    swApp.RunMacro2 path, moduleName, procName, swRunMacroOption_e.swRunMacroUnloadAfterRun, 0
End Sub
End Sub

 Malheureusement ça marche pas. Quelqu'un aurait une idée ? Peut-être avec la fonction Call (j'ai essayé mais ne marche pas, j'ai peut-être mal codé la fonction)

Merci

Cordialement

Pour appeler une macro:

https://www.codestack.net/solidworks-api/application/frame/run-macros-group/

Sinon tu peux peut être utiliser Customtoolbar dans les outils de Visiativ qui te permet de créer un menu avec toutes les macros + icône:

https://help.visiativ.com/mycadtools/2020/fr/CustomToolBar.html

Merci pour la réponse 

Le code sur codestack je le connais c'est même celui que j'ai utilisé en exemple mais il ne marche pas pour le bouton d'un userform. 

Pour mycadtools, je suis pas contre mais mon entreprise ne va pas investir de suite, c'est pourquoi j'ai développé quelques macros pour automatiser certains processus. Et c'est pourquoi je veux faire une mise en page propre afin que ce soit bien clair.

Cordialement

Pour les outils Mycadtools, tu y as normalement accès puisque dans ton profil on voit que tu est abonné à Mycadservice.

Pour le code depuis le userform, as tu essayé avec une macro stocké depuis un lecteur plus traditionnel? (ex: c:\Temp\Macro.swp)

J'ai essayé mais ça marche pas non plus. Je cherche encore mais je me fais des noeuds au cerveau. J'ai revérifié sur Code stack mais il n'y a rien non plus.

Il y aurait la solution de programmer toutes les macros dans chaque bouton du userform mais c'est chose quasi impossible car j'ai un nombre incalculable de variable, il n'y a rien de mieux que ça pour faire des erreurs.

Voilà où j'en suis, si quelqu'un veut ajouter sa pierre à l'édifice il est le bienvenu.

Merci

Cordialement 

Bonjour,

Voir les macros jointes. Il faut mettre les macro1, macro2 et macro3 dans le dossier "C:\temp\" puis éxécuter la macro "MacroLancementViaUserForm.swp"

Cordialement,


macrolancementviauserform.swp
macro1.swp
macro2.swp
macro3.swp
2 « J'aime »

Bonjour,

Une question bête ; mais pourquoi ne pas mettre vos macro dans la barre "macro" avec de beaux icônes pour connaître leurs utilités..

https://www.lynkoa.com/forum/2d/creer-un-bouton-macro

1 « J'aime »

Ou clic droit sur une barre de commande==>personnalisé==>commande==> puis vous tapez macro et vous choppez le dernier icône et vous faites un glisser/déposer dans la barre et vous  suivez les indications...

1 « J'aime »

@d.roger C'est super je vous remercie, je suis passé tellement de fois devant, c'était si simple. Ca fonctionne à merveille, merci encore.

@ac cobra 427 En effet c'était l'idée au début, mais j'ai 8 macros pour l'instant et peut-être plus par la suite. Donc surcharger la barre de commande n'est pas la meilleure des options non plus, d'où mon désir de créer un userform qui regroupe tous les boutons, comme ça un simple bouton dans la barre de commande est nécessaire.

Encore merci à vous et bonne journée.

Cordialement   

1 « J'aime »