Affectation d'une macro à un combobox par vba

Résolu
VQR Messages postés 1 Date d'inscription mercredi 29 novembre 2006 Statut Membre Dernière intervention 30 novembre 2006 - 30 nov. 2006 à 01:08
drikce06 Messages postés 2237 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 - 30 nov. 2006 à 15:23
Bonjour,
je souhaite, à partir d'une macro extérieure au classeur cible, affecter une macro à une liste déroulante (combobox) dans une feuille Excel. Le code serait le suivant :
   WbkEnC.Worksheets("Feuil1").Shapes("Drop Down 1").OnAction = "Macro1"

Cependant, lorsque je lance cette macro sur un classeur contenant la liste déroulante et la macro "Macro1", soit la macro est introuvable par vba (cette saleté de macro existe pourtant dans le classeur cible), soit l'affectation de la macro est erroné... Et pourtant l'enregistreur de macro d'Excel donne un code clair que je pense avoir correctement retranscrit...

Qqu'un aurait-il déjà eu ce genre de problème ?
Merci vqr

4 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
30 nov. 2006 à 01:21
Salut,

jamais testé mais regarde au cas où :

...   .OnAction = "NomModule.Macro1"
(un peu comme pour programmer les CommandPopup)
Et vérifie que ta Sub sois bien Public

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
3
drikce06 Messages postés 2237 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 11
30 nov. 2006 à 08:08
Salut ou:
.OnAction = TonClasseurCible.NomModule.NonSub
Et comme l'a dit mortalino la sub déclarée en Public.

Et sinon mets le bout de code qu'on voit à quoi ça ressemble!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
30 nov. 2006 à 15:07
Eh eh, il me semble qu'avec le classeur, ça le fera pas, peut-être essayer avec l'objet projet (VBAProject) plutôt que le classeur.
(car la sub fait parti de tel module, appartenant lui même à tel projet)

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
drikce06 Messages postés 2237 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 11
30 nov. 2006 à 15:23
Salut mortalino!
Oui apparement c'est pas possible, mais comme il parlait d'un classeur cible! Je me suis dis que peut être que oui !

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
Rejoignez-nous