Résolu VBA - Appel de procédure

  • Auteur de la discussion mrgerm75
  • Date de début

mrgerm75

Nouveau membre
Bonjour,

J'ai un problème d'appel de macro depuis un autre classeur.

J'ai un classeur 1 qui contient des cases à cocher et des boutons associés à des macros. Ces macros ne sont pas dans des modules mais dans des feuilles. Exemple : dans la feuille 1 :

[cpp]Private Sub macro1()
...
End Sub[/cpp]

J'ai un classeur 2 qui doit modifier les états des cases à cocher et activer certains boutons.
Depuis ce classeur 2, j'ouvre le classeur 1 et j'active la feuille qui m'intéresse. Ensuite j'arrive à modifier l'état d'une case à cocher en faisant :

[cpp]Activesheet.case_a_cocher1.Value = True/False[/cpp]

En revanche, je n'arrive pas à activer les boutons. C'est-à-dire lancer les macros associées à ces boutons.

Quelqu'un a-t-il la solution ? Merci !!!
 

zeb

Modérateur
Meilleure réponse
Salut,

Je ne vois pas l'intérêt d'activer tes feuilles.
Utilise leur nom ou leur numéro !
Code:
Worksheets("ma feuille").case_a_cocher1.Value = True/False

Tu as des fonctions dans ces feuilles ? Appelle-les de la même manière :
Code:
Worksheets("ma feuille").CommandButton1_Click

Evidemment, il faut que ces fonctions soient publiques. Si tu trouves le mot Private devant leur définition, c'est que l'accès à la fonction en dehors de la feuille est explicitement interdit.
 

mrgerm75

Nouveau membre
Merci de ta réponse.

J'ai remplacé tous les mots-clés "Private" par "Public".

En revanche, lorsque je tape (adapté à mon cas ^^) :

[cpp]Worksheets("ma feuille" ).CommandButton1_Click[/cpp]

J'ai le message d'erreur suivant : "Impossible d'afficher une feuille non modale lorsqu'une feuille modale est affichée"

Qu'est-ce que cela signifie ? Merci !
 

mrgerm75

Nouveau membre
C'est bon ! Ca fonctionne !!!

Il fallait en fait mettre la propriété "ShowModal" de mes userform sur False.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 128
Messages
6 717 843
Membres
1 586 372
Dernier membre
Meeithot
Partager cette page
Haut