VBA - Erreur variable envoi mail automatique

altefqhatre

XLDnaute Junior
Bonjour bonjour :)

J'ai un souci avec une macro me permettant d'envoyer un mail automatique lors de la modification d'une cellule en particulier. Mon client mail est Lotus Notes.

Voilà le code présent dans la "Feuil1":

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range

Set KeyCells = Range("C3")

If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then

Call Envoi

End If
End Sub

Ensuite la procédure "Envoi" que j'ai placée dans un module du classeur:

Code:
Sub Envoi()

    Dim Maildb As Object      'La base des mails
    Dim UserName As String    'Le nom d'utilisateur
    Dim MailDbName As String  'Le nom de la base des mails
    Dim MailDoc As Object     'Le mail
    Dim Session As Object     'La session Notes
    Dim EmbedObj As Object    'L'objet incorporé
    Dim Saveit As Boolean     'Activer l'enregistrement ou non du message

    'Crée une session notes
    Set Session = CreateObject("Notes.NotesSession")

    '*** Cette ligne est réservée aux versions 5.x et supérieur : ***
    Saveit = True

    'Session.Initialize (Password)

    'Récupère le nom d'utilisateur et crée le nom de la base des mails
    'UserName = structures
    UserName = Session.UserName
    MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"

    Recipient = "test@test.com"
    Subject = "Test envoi!"
    BodyText = "Ceci est un test d'envoi automatique lors de la modification d'une cellule X"

    'Ouvre la base des mails
    Set Maildb = Session.GetDatabase("", MailDbName)
    If Not Maildb.IsOpen Then Maildb.OPENMAIL

    'Paramètre le mail à envoyer
    Set MailDoc = Maildb.CreateDocument
    MailDoc.Form = "Memo"
    MailDoc.Sendto = Recipient
    MailDoc.Subject = Subject
    MailDoc.Body = BodyText

    MailDoc.SaveMessageOnSend = Saveit


    'Envoie le mail
    MailDoc.PostedDate = Now()
    MailDoc.Send 0, Recipient

    Set Maildb = Nothing
    Set MailDoc = Nothing
    Set AttachME = Nothing
    Set Session = Nothing
    Set EmbedObj = Nothing


End If


End Sub

Ce code fonctionnait très bien lorsqu'il était attribué à une userform avec un bouton "Envoi". En revanche, dans ce nouveau contexte j'ai une erreur de compilation qui me dis que:

Code:
Recipient = "test@test.com"

Variable non définie...

Est-ce que quelqu'un aurait une idée svp?

je suis un peu perdu là lol!

Merci beaucoup!

a++ bonne journée!
 

Discussions similaires

Réponses
7
Affichages
538
Réponses
2
Affichages
586

Statistiques des forums

Discussions
314 630
Messages
2 111 365
Membres
111 114
dernier inscrit
ADA1327