Associer sous Excel bouton envoi mail à une liste d'adresse Mail du même document

casbah

XLDnaute Nouveau
Bonsoir,
Voila mon problème, j'ai créé un classeur excel (2003) avec plusieurs pages et notamment sur la page principale des informations concernant des contacts (Nom,Prénom,Tél,Email) et toujours sur la même page, j'ai créé un bouton "ENVOI PAR MESSAGERIE". Cela fonctionne, mais le problème est que je suis dans l'obligation de renseigner le code en mettant les adresses des destinataires à chaque fois.
Exist-il un moyen d'associer les emails au bouton "ENVOI PAR MESSAGERIE" afin de le rendre autonome.

Par avance merci pout toutes aides.

Le code que j'ai mis
Private Sub CommandButton1_Click()
Dim oSession As Object
Dim oDB As Object
Dim oDoc As Object
Dim sMsg As String, sMyAttachment As String
Dim oRichTextItem As Object

Const EMBED_ATTACHMENT = 1454

'open mail session and set up mail document
Set oSession = CreateObject("Notes.NotesSession")
Set oDB = oSession.GetDatabase("", "")
Call oDB.OpenMail
Set oDoc = oDB.CREATEDOCUMENT
Call oDoc.ReplaceItemValue("SendTo", "leroidurire@mail.com") 'regler ici le nom du destinataire
Call oDoc.ReplaceItemValue("Subject", "Document")

'create body text
Set oRichTextItem = oDoc.createRichTextItem("Body")
sMsg = " Veuillez trouver ci-joint le classeur Excel concernant votre demande. " & vbCrLf & vbCrLf
Call oRichTextItem.AppendText(sMsg)

'attach attachment
sMyAttachment = "C:\Documents and Settings\toto\Bureau\Document.xls"
Call oRichTextItem.embedObject(EMBED_ATTACHMENT, "", sMyAttachment)

'send
oDoc.SAVEMESSAGEONSEND = True
Call oDoc.Send(False)
Set oSession = Nothing
MsgBox "Message envoyé.", vbOKOnly + vbInformation
End Sub
 

Modeste

XLDnaute Barbatruc
Re : Associer sous Excel bouton envoi mail à une liste d'adresse Mail du même documen

Bonsoir casbah et bienvenue,

Toujours plus difficile sans fichier en support ... Mais si on imagine les adresses encodées dans la plage de B3 à B12, essaie en ajoutant ces quelques lignes au début de ton code

VB:
For Each cel In Range("B3:B12")
    If Not cel = "" Then listAdresses = listAdresses & cel.Value & ";"
Next cel
listAdresses = Mid(listAdresses, 1, Len(listAdresses) - 1)

Ton instruction
Call oDoc.ReplaceItemValue("SendTo", "leroidurire@mail.com")
deviendrait quelque chose comme
Call oDoc.ReplaceItemValue("SendTo", "" & listAdresses)

... A tester ...
 

casbah

XLDnaute Nouveau
Re : Associer sous Excel bouton envoi mail à une liste d'adresse Mail du même documen

Merci Modeste pour ton aide, mais après changement du code je n'ai qu'une seul adresse qui recoit
mon fichier et ce malgré une répétition de l'adresse dans le code.
Comment faire pour envoyer mon fichier example, car j'ai mon adresse perso et pro dans la liste, je ne peux mettre sur le forum?

Encore merci pour l'aide
 

Modeste

XLDnaute Barbatruc
Re : Associer sous Excel bouton envoi mail à une liste d'adresse Mail du même documen

Re-bonsoir casbah,

je n'ai qu'une seul adresse qui recoit mon fichier et ce malgré une répétition de l'adresse dans le code
Je ne comprends pas bien ce que tu entends par "une répétition de l'adresse dans le code" :confused:
Ton message est bien parti, si je comprends bien?
- Je ne dispose pas de Lotus Notes et ne peux pas tester, de toute manière ... donc ton fichier n'est pas nécessaire, mais dans le bout de code que j'ai proposé, tu as remplacé "B3:B12" par les références de la plage de cellules qui contient tes adresses?
- Dans tes éléments envoyés, le message a été adressé à plusieurs personnes ou une seule?
- Quand tu envoies un message d'habitude, adressé à plusieurs destinataires, est-ce bien le point-virgule qui sert de séparateur entre les adresses?
 

casbah

XLDnaute Nouveau
Re : Associer sous Excel bouton envoi mail à une liste d'adresse Mail du même documen

Re-bonsoir casbah,

Je ne comprends pas bien ce que tu entends par "une répétition de l'adresse dans le code" :confused:
Ton message est bien parti, si je comprends bien?
- Je ne dispose pas de Lotus Notes et ne peux pas tester, de toute manière ... donc ton fichier n'est pas nécessaire, mais dans le bout de code que j'ai proposé, tu as remplacé "B3:B12" par les références de la plage de cellules qui contient tes adresses?
- Dans tes éléments envoyés, le message a été adressé à plusieurs personnes ou une seule?
- Quand tu envoies un message d'habitude, adressé à plusieurs destinataires, est-ce bien le point-virgule qui sert de séparateur entre les adresses?

Rebonsoir,
Pour répondre, lorsqu'il y a plusiers destinataires sur LotusNotes le séparateur est "virgule" sur les autres messagerie le séparateur est "point virgule".
Modification apportée sur l'ensemble du code.
Lors de l'envoi et ce malgré la présence de plusieurs adresses dans ma liste, uniquement la première adresse à reçue le fichier.
Si tu met la même adresses dans ta liste, normalement lle destinataire doit recevoir xfois le même fichier et message.
Merci pour ton aide
 
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Associer sous Excel bouton envoi mail à une liste d'adresse Mail du même documen

Re³,

Comme je ne pourrai pas aider plus, une petite recherche sur le net m'a permis de trouver divers articles qui mentionent la difficulté d'adresser à plusieurs destinataires. Mais deux de ces articles évoquent la possibilité d'utiliser un tableau de String. Voici les liens:
- Developpez.net
- Ce lien n'existe plus

Bon courage,
 

jlp035

XLDnaute Occasionnel
Re : Associer sous Excel bouton envoi mail à une liste d'adresse Mail du même documen

Bonjour,
je suis également interréssé par par l'envoi de fichiers via lotus notes alors peut me faire suivre ton programme.
Je cherche ègalement à faire envoyer une feuille dans le corps de la messagerie , mais là je bloque depuis plus de 2 semaines .
Alors si tu a une solution je suis preneur.

Cordialement
 

casbah

XLDnaute Nouveau
Re : Associer sous Excel bouton envoi mail à une liste d'adresse Mail du même documen

Ci-dessous le code que j'ai,

Private Sub CommandButton1_Click()
For Each cel In Range("B3:B12") (colone des adresses mail)
If Not cel = "" Then listAdresses = listAdresses & cel.Value & ","
Next cel
listAdresses = Mid(listAdresses, 1, Len(listAdresses) - 1)
Dim oSession As Object
Dim oDB As Object
Dim oDoc As Object
Dim sMsg As String, sMyAttachment As String
Dim oRichTextItem As Object

Const EMBED_ATTACHMENT = 1454

'open mail session and set up mail document
Set oSession = CreateObject("Notes.NotesSession")
Set oDB = oSession.GetDatabase("", "")
Call oDB.OpenMail
Set oDoc = oDB.CREATEDOCUMENT
Call oDoc.ReplaceItemValue("SendTo", "" & listAdresses) (créé un champs liste avec tous les adresse
Call oDoc.ReplaceItemValue("Subject", "Document")

'create body text
Set oRichTextItem = oDoc.createRichTextItem("Body")
sMsg = " Veuillez trouver ci-joint le classeur Excel concernant votre demande. " & vbCrLf & vbCrLf
Call oRichTextItem.AppendText(sMsg)

'attach attachment
sMyAttachment = "C:\Documents and Settings\toto\Bureau\Document.xls" (mettre le chemin du document que tu a sauvegardé)
Call oRichTextItem.embedObject(EMBED_ATTACHMENT, "", sMyAttachment)

'send
oDoc.SAVEMESSAGEONSEND = True
Call oDoc.Send(False)
Set oSession = Nothing
MsgBox "Message envoyé.", vbOKOnly + vbInformation
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 378
Messages
2 087 758
Membres
103 660
dernier inscrit
205 Peugeot