Lier un userform à une boite mail

Bonjour,

j'ai ici une macro me permettant de lier un userform à un tableau. Mon besoin est qu'à chaque fois que le tableau est renseigné (donc une demande transmise), je reçoive une notification par mail me disant qu'une demande a été faite.

Je joins mon fichier de travail.

Merci d'avance pour votre aide

Bonjour Pablito,

Sur le poste utilisant ton EXCEL, la messagerie est-elle OUTLOOK?

Bonjour Pablito,

Sur le poste utilisant ton EXCEL, la messagerie est-elle OUTLOOK?

Bonjour @GVIALLES,`

Oui c'est Outlook

Bonsoir Pablito,

Je te propose de créer une nouveau module dans ton projet VBA et d'y inclure le code suivant :

Option Explicit
Sub sendEmail(ztxt As String)
    Const cMailAdress = "x@Outlook.com"   'Adresse d'expédition à ajuster
    Const olMailItem = 0
    Const cObjet = "Nouvelle requête..."  'Objet du mail à ajuster

    Dim oOL As Object
    Dim oNS As Object
    Dim oMail As Object
    Dim sSubject As String, sBody As String

    'On s'assure qu'une session OUTLOOK est ouverte
    PreparerOutlook oOL

    Set oNS = oOL.GetNamespace("MAPI")
    sSubject = cObjet & " le " & format(Now(), "dd/mm/yyyy hh:MM:ss") 'A ajuster
    sBody = " Une nouvelle requête de " & ztxt & " a été formulée le " & format(Now(), "dd/mm/yyyy hh:MM:ss") 'A ajuster

    Set oMail = oNS.CreateItem(olMailItem)
    With oMail
        .To = cMailAdress
        .Subject = sSubject
        .Body = sBody
        .Send
    End With

    Set oMail = Nothing
    Set oOL = Nothing

End Sub
Private Sub PreparerOutlook(ByRef oOutlook As Object)
'par Excel-Malin.com ( https://excel-malin.com )
'------------------------------------------------------------------------------------------------
'Ce code vérifie si Outlook est prêt à envoyer des emails... Et s'il ne l'est pas, il le prépare.
'------------------------------------------------------------------------------------------------
On Error GoTo PreparerOutlookErreur

On Error Resume Next
    'vérification si Outlook est ouvert
    Set oOutlook = GetObject(, "Outlook.Application")

    If (Err.Number <> 0) Then 'si Outlook n'est pas ouvert, une instance est ouverte
        Err.Clear
        Set oOutlook = CreateObject("Outlook.Application")
    Else    'si Outlook est ouvert, l'instance existante est utilisée
        Set oOutlook = GetObject("Outlook.Application")
        'oOutlook.Visible = True
    End If
    Exit Sub

PreparerOutlookErreur:
    MsgBox "Une erreur est survenue lors de l'exécution de PreparerOutlook()..."
End Sub

Et d'ajouter au code du bouton "Transmettre..." du userform l'appel à la procédure d'envoi :

callsendemail

Je joins mon classeur de test.

Bonjour Pablito,

Sur le poste utilisant ton EXCEL, la messagerie est-elle OUTLOOK?

Bonjour @GVIALLES,`

Oui c'est Outlook

Merci beaucoup @GVIALLES pour ton aide

Rechercher des sujets similaires à "lier userform boite mail"