Exécuter un bouton via une macro dans un userform

Bonjour a tous, mon problème est surement très simple a résoudre mais je n'y arrive pas !

J'ai un userform avec un bouton dessus. J'aimerais simplement que dans le code d'une autre macro je puisse éxécuter la macro associé a ce bouton du style:

Sub MaMacro()

Call CommandButton1_Click ' Macro associé au bouton du Userform

End Sub

Sauf que: Sub ou Fonction non définie.

Par avance merci à tous ceux qui sauront m'apporter la réponse ! Bonne journée

excel2 excel1

Bonjour,

A essayer en préfixant avec le nom du UserForm :

USFMacro.CommandButton1_Click

Cette solution n'est pas très propre. Pourquoi ?

Les boutons d'un UserForm sont faits pour être utilisés à l'intérieur du UserForm. Lorsque tu crées un bouton dans un UF, la procédure "_Click" est par défaut "private" (privée), indiquant que seul le UF ne la voit. Pour la voir de l'extérieur du UF, tu dois déjà la modifier pour la passer en "public" (publique), ce que tu as fait apparemment.

L'autre solution est d'avoir une procédure publique dans un module à part et d'appeler cette même procédure, soit depuis le UF, soit depuis un autre endroit. Cela permet de laisser à l'intérieur du formulaire ce qui lui appartient, et d'ouvrir à l'extérieur uniquement ce qui est utilisable plus largement.

Ce sont des notions de portée (publique, privé).

Plus on a de code VBA public, plus cela peut entraîner des risques d'erreur de programmation ensuite. Il est mieux de privilégier au maximum les instructions privées.

cf PJ avec les 2 solutions :

> UF1 et module1

> UF2 et module2

Bouben

155userform.xlsm (17.54 Ko)

Incroyable quelle réponse rapide ! Merci infiniment ca fonctionne.

Je comprend la notion de portée.

Comme une partie de mon classeur est utilisé par des personnes extrement novice en VBA/Excel je voulais qu'elles aient le moins possible à faire à des Userform. Cette macro sera éxécuté beaucoup de fois donc j'économise bcp de temps en évitant à l'utilisateur d'ouvrir le Userform puis de cliquer sur le bouton qui conviens (et de pas se tromper de boutons ^^)

Maintenant mon programme est opérationnel !

Continuez votre travail. C'est la deuxieme fois que j'utilise ce forum c'est ici qu'on trouve les meilleurs solution et explications.

Bonne fin de journée

Gabin

Rechercher des sujets similaires à "executer bouton via macro userform"