Modifier une MACRO Access en vba

pio_killer Messages postés 62 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 15 avril 2016 - 16 oct. 2012 à 09:12
pio_killer Messages postés 62 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 15 avril 2016 - 25 oct. 2012 à 15:16
Bonjour,

j'ai développé une appli sous ACCESS 2007.

je voudrais faire une menu contextuel dynamique sur le champ d'un des formulaires

Je sais le faire en faisant des macro ACCESS (dans le ruban, créer puis macro) qu'il faut ensuite déclarer comme menu contextuel (dans le ruban => outils de base de données => créer un menu contextuel d'après macro)

Je l'appelle ensuite dans VBA comme ceci :
Me![nom_du_champ].ShortcutMenuBar = "macro_name"


Cela fonctionne très bien mais je me retrouve maintenant avec beaucoups trop de possibilités (j'ai été obligé de faire 6 macro pour gérer 6 menus contextuels différents)

J'ai déjà trouvé des macro sur internet qui faisaient ce genre de menu dynamique mais c'était quand même compliqué.

Alors, je me suis dis que je pouvais peut-être modifier une seule macro en vba et que j'affecterais par défaut pour le champ.

D'où ma question : peut-on modifier une macro ACCESS en vba

Merci d'avance

7 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
16 oct. 2012 à 10:57
Salut

Bien que ta description soit détaillée (et correctement orthographiée, ça fait plaisir
), je n'arrive pas à saisir ta difficulté.
Veux-tu dire "modifier une macro par programmation" ?
Non, je ne pense pas.
Mais que veux-tu changer ?
Connais-tu "CallByName" qui permet d'appeler une macro à partir de son nom ? - et est-ce que cela te suffit pour réoudre ton problème ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
pio_killer Messages postés 62 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 15 avril 2016 13
16 oct. 2012 à 14:13
Merci pour ta réponse

En fait, c'est bien "modifier une macro par programmation" que je veux faire

Je connais "CallByName" mais je ne veux pas lancer de macro.

Voici donc la macro de création de menu contextuel qui devrait marcher (c'est vrai que je ne l'ai pas tester)
Tapez le texte de l'url ici.

Mais je voudrais quelque chose de plus simple comme je l'ai décris plus haut.

Voici la méthode que j'ai utilisé pour créer mes menus contextuel
Tapez le texte de l'url ici.

Mon but est donc de modifier une macro par programmation
Cela me permettrais d'avoir un menu dynamique

De plus, cela pourrait servir à d'autres fin
0
c148270 Messages postés 303 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 3 octobre 2013 1
18 oct. 2012 à 16:31
Bonjour
Je pense que le plus simple est de convertir ta macro en VBA qui sera facilement paramétrable
puis de l'appeler dans le ruban par on_action

Bonne journée
0
pio_killer Messages postés 62 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 15 avril 2016 13
19 oct. 2012 à 08:55
Ok, j'ai convertie mais je ne comprend pas pourquoi tu me dis de l'appeler par on action.

Par ta méthode, une solution serait de pouvoir dire qu'une fonction (équivalent de la macro convertie) est un menu contextuel comme je l'ai fait par la méthode des macros (en sélectionnant la macro et en cliquant sur "outils de base données","créer un menu contextuel d'après macro")

Mais je ne sais pas faire cela
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
c148270 Messages postés 303 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 3 octobre 2013 1
19 oct. 2012 à 11:01
Autant pour moi
Ce on_action vient de ce que j'utilise un assistant de création de ruban

Par contre dans l'éditeur de macro il existe dans :
Actions
Commandes de macro
Exécuter code

A essayer de mettre cette action dans la macro de menu

Je ne suis pas très à l'aise avec la création de menu ou ruban directement avec Access

bonne journée
0
Phiphi41 Messages postés 41 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 16 août 2013 1
20 oct. 2012 à 09:46
Bonjour

Evite les macros pour les menus, et fait tout en VBA :

Personnaliser vos barres de commandes dans Access
0
pio_killer Messages postés 62 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 15 avril 2016 13
25 oct. 2012 à 15:16
Finalement j'ai opté pour la solution de Phiphi41 qui est assez simple à mettre en place.

Merci pour votre aide à tous

A+
0
Rejoignez-nous