[VBA] Envoyer un mail avec Outlook sans Object Library

Bonjour le forum,

Vous trouverez en PJ de ce message un fichier Excel permettant d'ouvrir une fenêtre "Nouveau Message" du logiciel Outlook.

Mais ce code présente 2 problèmes :

=> Problème 1 : J'utilise Outlook 15.0 Object Library mais si une personne ouvrant mon fichier utilise Outlook 14.0 Object Library le code fonctionne pas.

=> Problème 2 ; Si la personne ouvrant mon fichier a la même version d'Outlook que moi mais que L'object library n'est pas cochée dans les références alors le code ne fonctionne pas non plus...

C'est très embêtant car je rencontre ce problème souvent avec mes collègues.

Existe t-il un code, aussi simple que celui que j'ai dans le fichier en PJ, qui permette de ne pas avoir besoin de cocher cette référence ?

Suite à des recherches sur internet j'ai trouvé la mode "Late Binding" mais... je ne comprends absolument pas comme cela fonctionne...

Quelqu'un peut m'aider ?

Merci !

160envoyer-email.xlsm (16.15 Ko)

Salut,

pour moi si tu codes une macro avec des exigences de cases à cocher, il faut le préciser dans ton mode op avec la marche à suivre pour cocher les cases C'est chiant on est d'accord, j'ai le même soucis, en pire puisque je voulais faire une macro avec Code à barre et je n'avais même pas les objets sur mon PC...

D'autre part,

pour un envoi d'email, j'ai mis un exemple de code ici

https://forum.excel-pratique.com/excel/envoyer-un-userform-t71439.html

Si tu veux y jeter un oeil ^^

En espérant que cela t'aide

Merci à vous !

Sinon c'est toujours 10 minutes après avoir posté la question qu'on trouve la réponse... ( Ca fait 2 jours que je cherche...)

Le code suivant permet d'envoyer des emails avec Outlook sans cocher une référence OBJECT LIBRARY

Sub SendOLMail_LateBound()
    Dim oAPP                       As Object
    Dim oItem                      As Object
    ' need to declare this constant as it has no meaning without
   ' the reference set to the Outlook library
   Const olMailItem               As Long = 0

    ' instantiate the Application - cannot use New without a reference
   ' so we must use CreateObject
   Set oAPP = CreateObject("Outlook.Application")

    ' #######################################
   ' NOTE: THE REST OF THE CODE IS IDENTICAL
   ' #######################################

    ' create a new email
   Set oItem = oAPP.CreateItem(olMailItem)

    ' set basic properties and display the email
   With oItem
        .To = "foo@bar.com"
        .Subject = "this is a test"
        .Body = "nothing to see here"
        .Display
    End With

End Sub
Rechercher des sujets similaires à "vba envoyer mail outlook object library"