Email via VBA avec adresse mail en variable

Bonjour

Je veux envoyer un mail à une personne via VBA avec une pièce jointe. J'ai trouvé comment à le faire quand la personne est nommée en dur grâce au forum, j'arrive à récupérer la variable email en fonction de critères, mais je ne sais pas comment insérer ma variable dans l'adresse pour que le mail parte à la bonne personne. Voilà le code, merci pour votre aide

Dim t As String

Dim email As String

Dim VC, Rep, position

' récupère la valeur du Nom salarié en bookmars "nom"

t = ActiveDocument.Range(ActiveDocument.Bookmarks("nom").Range.Start, ActiveDocument.Bookmarks("finnom").Range.End).Text

VC = "aaa"

'compare avec le nom pour trouver l'adresse

position = InStr(1, t, VC, vbTextCompare)

If position <> 0 Then

email = "aaa@blabla.fr"

Else

VC = "bbb"

position = InStr(1, t, VC, vbTextCompare)

If position <> 0 Then

email = "bbb@blabla.fr"

Else

VC = "ccc"

position = InStr(1, t, VC, vbTextCompare)

If position <> 0 Then

email = "ccc@blabla.fr"

End If

End If

'envoyer un mail d'information aux ressources humaines

Dim NSession As Object

Dim NUIWorkspace As Object

Dim NMailDb As Object

Dim NUIDocument As Object

Dim bodytext As String

Set NSession = CreateObject("Notes.NotesSession") 'OLE (late binding only) because we access Notes UI classes

Set NUIWorkspace = CreateObject("Notes.NotesUIWorkspace")

Set NMailDb = NSession.GETDATABASE("", "")

NMailDb.OPENMAIL

'Compose the email document

Set NUIDocument = NUIWorkspace.ComposeDocument(NMailDb.Server, NMailDb.filePath, "Memo")

'Set NUIDocument = NUIWorkspace.ComposeDocument(, , "Memo") 'use local computer and current database

With NUIDocument

.FieldSetText "EnterSendTo", "email@blabla.fr, " 'adresse mail à composer en fonction du destinataire

.FieldSetText "Subject", "Demande de congés "

bodytext = "Bonjour, vous avez une nouvelle demande de congés validée Bien Cordialement"

.FieldSetText "Body", bodytext

'Set NotesDocument options to save and send the email without prompts when the Close method is called

.Document.SaveOptions = "1"

.Document.MailOptions = "1"

.Close

End With

Set NUIDocument = Nothing

Bonjour,

J'ai une macro qui fonctionne bien et qui est simple. Il suffit d'insérer la référence "Microsoft Outlook16.0 Object Library" et le tour est joué :

Sub Envoyer_Mail_Outlook()

        Set ObjOutlook = New Outlook.Application
        Set oBjMail = ObjOutlook.CreateItem(olMailItem)
    '---------------------------------------------------------
    Déclaration des adresses

    mail= gg@ff.fr
    copie = ff@ff.fr
    '--------------------------------------------------------

         With oBjMail
         'détermination des destinataire
            ' le destinataire
            .To = mail
            'les copies
            .CC = copie

            ' l'objet du mail
           .Subject = "Compte rendu de la réunion de ce jour"

           'le contenu
           .Body = "Bonjour," & vbNewLine & vbNewLine & "Veuillez trouver ci-joint le compte rendu de ce jour." & vbNewLine & vbNewLine & "Merci de compléter s'il manque des éléments par retour de mail, le plus rapidement possible." & vbNewLine & vbNewLine

           .Display  
           '   Ici on peut supprimer pour l'envoyer sans vérification
           .Send
        End With
        'ObjOutlook.Quit
        Set oBjMail = Nothing
        Set ObjOutlook = Nothing

End Sub

Bonjour

Merci pour la réponse. Mais avant de faire un test je précise deux choses : j'utilise Lotus note et mon destinataire est aléatoire et non toujours le ou les mêmes. (documents confidentiels)

Il me semble que ce code propose uniquement une Adresse mail en dure.

Bonjour,

Pour lotus je ne sais pas, a tester, pour ce qui est de l'adresse mail, tu la sort bien de quelque part ?

Mon document est un formulaire de demande de congés envoyé à la direction pour accord. Si la direction est ok, elle retourne un mail de confirmation à l'emetteur d'origine. C'est ce nom que je récupère via ma variable email. Ce code fonctionne. Mais je ne sais pas utiliser cette variable ensuite pour créer la ligne de code qui envoie le mail à au bon destinataire.

Merci de me donner un coup de main

Tu peux pas envoyer le fichier ?

Au pire en MP.

Rechercher des sujets similaires à "email via vba adresse mail variable"