(vba excel) Execution d'une macro/userform

Résolu/Fermé
shelbi33 Messages postés 3 Date d'inscription vendredi 17 décembre 2010 Statut Membre Dernière intervention 17 décembre 2010 - 17 déc. 2010 à 11:44
shelbi33 Messages postés 3 Date d'inscription vendredi 17 décembre 2010 Statut Membre Dernière intervention 17 décembre 2010 - 17 déc. 2010 à 14:40
Bonjour,

Je suis débutant en programmation vba et j'ai un soucis dans l'execution d'une macro depuis un userform.
J'ai en fait 5 feuilles de calcul différentes, comprennant plusieurs macros attachées à chacune d'entre elles. Mon but est donc de créer une interface userform avec un bouton par feuille de calcul afin de pouvoir lancer la macro que je souhaite dans la feuille que je souhaite.
Mon problème est que je n'arrive pas à affecter à un clic de bouton (du userform) l'execution de ma macro cible.
(je ne sais pas si cela est bien clair... :S)

Merci par avance de votre aide
A voir également:

4 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
17 déc. 2010 à 12:37
Bonjour,
Le plus simple serait de mettre tes macros dans un module public en spécifiant la feuille sur lequel tu veux intervenir.
Autre solution, déclarer tes macro en Public.
Public Sub Test()

Et dans l'UF faire appel en mentionnant la feuille
Private Sub UserForm_Click()
 Feuil1.Test
'ou
 Sheets("Feuil1").Test
End Sub

A+
1
shelbi33 Messages postés 3 Date d'inscription vendredi 17 décembre 2010 Statut Membre Dernière intervention 17 décembre 2010
17 déc. 2010 à 12:49
Merci pour ta réactivité!

En fait, il ne faut pas que je déplace les macros des feuilles de calculs.
Ce sont toute des feuilles que l'on m'a imposé et je ne doit pas modifier les liens internes. C'est pour cela que je voudrais créer une petite interface perso pour gerer un peu tout ce pti monde.

--------- ----------
! ma1 ! ! ma1 !
! ma2 ! ! ma2 !
! ma3 ! ! ma3 !
! ma4 ! ! ma4 !
--------- ----------
feuille 1 feuille 2



userform (feuille3):

bouton1 bouton2


avec bouton 1 qui me lance ma3 de la feuille1 et bouton 2 qui me lance ma2 de la feuille 2.
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 17/12/2010 à 12:58
Comme j'ai dis, il n'est pas nécessaire de déplacer les macros, seule contrainte, tu dois ajouter Public..
Public Sub ma1()
Et dans le code du bouton de l'UF tu met
Private Sub CommandButton1_Click() 
    Sheets("Feuil1").ma1 
End Sub

Idem pour les autres macro et autres feuilles

L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
0
shelbi33 Messages postés 3 Date d'inscription vendredi 17 décembre 2010 Statut Membre Dernière intervention 17 décembre 2010
17 déc. 2010 à 14:40
ok nikel, merci pour ton aide!
0