Appeler du code VBA à partir d’une macro

Ces articles pourraient également vous intéresser...

3 réponses

  1. beda dit :

    merci pour ce que vs faites pour nous apprenants

  2. Hervé Inisan dit :

    JeanPaulR > Le principe est le même. Les seules choses à changer, dans ce cas, sont les Sub de la procédure SendOLMail, qu’il faut remplacer par Function. Une fois la procédure transformée en fonction, elle peut-être appelée par la méthode décrite dans cet article. Mais il y a sans doute plus simple que :

    1. Avoir la fonction SendOLMail dans un module.
    2. Ecrire une macro pour appeler la fonction.
    3. Associer la macro à un bouton.

    Le plus simple étant :

    1. Garder la procédure SendOLMail en l’état (Sub / End Sub), dans un module.
    2. Faire apparaître les propriétés du bouton, onglet Evénement.
    3. Renseigner l’événement Sur clic sur “Propriété événementielle”.
    4. Cliquer sur les points de suspension, à droite. On obtient le code VBA du bouton.
    5. Appeler la procédure SendOLMail tel qu’expliqué dans l’article qui détaille SendOLMail.

    Ça paraît plus long à expliquer comme ça, mais il y a quelques avantages à moyen terme :

    • Pas de macro intermédiaire entre le bouton et le code VBA.
    • Donc moins de gestion et de maintenance à long terme, puisqu’on “économise” un objet dans la base.
    • Un seul langage (VBA) au lieu de deux (VBA et langage de macros Access).
    • L’approche VBA pure permet une meilleure gestion du mail. Notamment, s’il faut plus tard construire un mail de façon dynamique, en piochant des données dans le formulaire. Ça serait plus vite une “usine à gaz” par macro.

    Ouala !

  3. JeanpaulR dit :

    Bonjour,
    Mais quel code écrire dans function si l’on veut lancer votre procédure envoi d’Email par SendOLMail comme décrit dans votre post : ‘ENVOYER UN MAIL DEPUIS ACCESS, AVEC PIECES JOINTES. En fait le chainage complet pour lancer d’un bouton formulaire une macro “executercode” pour envoyer un mail avec votre code VBA.
    J’attends votre réponse avec impatience et vous en remercie par avance.
    Bonne soirée.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">