VBA & Lotus Note

Fermé
MrQuant Messages postés 45 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 3 septembre 2012 - Modifié par MrQuant le 22/08/2011 à 08:50
 Julien - 6 août 2015 à 09:05
Bonjour,

J'ai écrit un bout de code VBA qui me permet de monitorer une variable et d'envoyer un email (Lotus note 7.0.4) dès lors que le résultat d'un test est TRUE. Tout fonctionne nickel-chrome à part que je souhaite mettre en CC le boss et lorsque je mets:

Call MailDoc.ReplaceItemValue("CopyTo", "nom@machin.fr")

Ça n'envoie rien

alors qu'en mettant

Call MailDoc.ReplaceItemValue("CopyTo", "NomDuGroupe") (un mailing list)

Ça marche.

Any explanations
d'avance merci.





A voir également:

5 réponses

MrQuant Messages postés 45 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 3 septembre 2012 1
23 août 2011 à 08:19
Aucune idée !!
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 293
23 août 2011 à 09:38
Bonjour,
Voici comment je fais avec Lotus Notes V9...
Petite explication ...je me suis servi de cette macro afin d'envoyer les mots de passe d'accés pour différents utilisateurs d'ou la variable Mot_de_passe

Les infos étaient sur la feuil1 ...
je pense que j'ai mis assez de commentaires.


Public Mot_De_passe As String


Sub SendNotesMail()
'paramètres des objets nécessaires pour Lotus Notes
Dim Maildb As Object 'La base mail
Dim UserName As String 'le nom de l'utilisateur courant
Dim MailDbName As String 'le nom de la base mail de l'utilisateur corant
Dim MailDoc As Object 'le document mail
Dim AttachME As Object 'les objets attachés
Dim Session As Object ' l'objet session
Dim EmbedObj As Object 'l'objet qui est transmis à lotus

Dim Nbuser As Integer 'le nombre d'utilisateur
Dim Prenom As String ' le prénom
Dim Nom As String    ' le nom
Dim AdresseMail As String 'prenom.nom@gm.com


Nbuser = Sheets("feuil1").Range("A1").CurrentRegion.Rows.Count - 1


' Démarre une session LN
Set Session = CreateObject("Notes.NotesSession")
'on connait l'objet donc l'utilisateur username et la base

UserName = Session.UserName
MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
'on ouvre la base dans LN
Set Maildb = Session.GETDATABASE("", MailDbName)
If Maildb.IsOpen = True Then
'déjà ouvert
Else
Maildb.OPENMAIL
End If
'****************

'
'Paramètres du nouveau document mail

For i = 1 To Nbuser
    
    Prenom = LCase(Sheets("Feuil1").Range("A1").Offset(i, 0).Value)
    Nom = LCase(Sheets("Feuil1").Range("A1").Offset(i, 1).Value)
    Mot_De_passe = Sheets("Feuil1").Range("A1").Offset(i, 2).Value
    AdresseMail = Prenom & "." & Nom & "@gm.com"
    
    Set MailDoc = Maildb.CREATEDOCUMENT
    MailDoc.Form = "Memo"
    MailDoc.Sendto = AdresseMail ' la tu mets l'adresse mail de ton correspondant" '(laisse les "")
    'MailDoc.copyto = ""

    MailDoc.copyto = "prenom2.nom2@provider.com" 'l'adresse de la personne en copie" '(laisse les "")
    MailDoc.Subject = "Essai envoi pour mot de passe" 'la tu mets le sujet" '(avec des "")

    ' Construction du corps du message
    Set objNotesField = MailDoc.CREATERICHTEXTITEM("Body")
    With objNotesField
        .AppendText "Bonjour,"
        .AddNewLine 2
        .AppendText "Veuillez trouver ci-joint  ... >>>" 'tu peux ajouter des lignes
        .AddNewLine 1
        .AppendText " un commentaire ...."

        .AddNewLine 2
        .AppendText "... un autre"

        .AppendText "Salutations"
        .AddNewLine 3
        .AppendText " Important"
        .AppendText " si vous recevez ce mail par erreur .... merci de le détruire... "


    End With

MailDoc.SaveMessageOnSend = SaveIt


'************

'envoi du document
MailDoc.PostedDate = Now()
MailDoc.Send 0, Recipient
Next
'Clean Up
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing

End Sub
0
MrQuant Messages postés 45 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 3 septembre 2012 1
25 août 2011 à 10:54
Bonjour Forum
Merci Bidouilleu_R... mais mon code fonctionne nickel chrome ...c'est juste que lorsque je met plusieurs personnes en CC il n'envoie un email qu'a la dernière personne ne CC. Par exemple si je mets:

MailDoc.copyto = "prenom1.nom1@provider.com"
MailDoc.copyto = "prenom2.nom2@provider.com"
MailDoc.copyto = "prenom3.nom3@provider.com"

seul le user 3 (prenom3.nom3@provider.com) reçoit un email et pas les autres !!!

any suggestions ?
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 293
25 août 2011 à 16:01
suggestion ? oui!


MailDoc.copyto = "prenom1.nom1@provider.com"
MailDoc.copyto = "prenom2.nom2@provider.com"
MailDoc.copyto = "prenom3.nom3@provider.com"


MailDoc.copyto = "prenom1.nom1@provider.com;prenom2.nom2@provider.com;prenom3.nom3@provider.com"

fait un ptit test...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MrQuant Messages postés 45 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 3 septembre 2012 1
6 sept. 2011 à 17:02
Merci Bidouilleu_R,
je test et je t'informe.
A+
0
Salut.

Juste pour info...
MailDoc.copyto est une variable.
Tu lui attribues une première valeur ***@***
Puis
Tu écrases cette valeur avec une seconde valeur ***@***
Et
Une nouvelle fois avec une troisième valeur ***@***

Donc normal que seul le 3e user reçoit le mail.

Il faut concaténer tes variables.

De mémoire, sur lotus le séparateurs de contacts est la virgule mais bon j'ai testé avec le point-virgule et ça fonctionne aussi :p


Pour répondre à Bidouilleu_R :
Le fait de faire
MailDoc.copyto = "***@***;***@***;***@***"

ça ne me semble pas bon, ça attribuera comme destinataire ***@***;***@***;***@*** comme unique destinataire à MailDoc.copyto

donc ne fonctionnera pas.

j'ai déjà vu ce cas-là


Je pense que la solution sera d'utiliser un tableau avec Array("...", "...")

Donc pour reprendre le problème de MrQuant

ça serait :

MailDoc.copyto = Array("***@***", "***@***", "***@***")


a+
0
Julien > Julien
6 août 2015 à 09:05
lol vu que je ne suis pas membre ça a bloqué les mails... enfin tout le monde aura compris xD
0