AiDuK
Messages postés80Date d'inscriptionlundi 22 octobre 2007StatutMembreDernière intervention30 juillet 2008
-
16 juil. 2008 à 14:01
AiDuK
Messages postés80Date d'inscriptionlundi 22 octobre 2007StatutMembreDernière intervention30 juillet 2008
-
16 juil. 2008 à 16:05
Bonjour à tous,
Mon code actuel me permet d'envoyer un mail, ainsi qu'une pièce jointe à un destinataire.
Ce que je souhaite à ajouter et d'envoyer le même mail à un ou plusieurs destinataire en fonction de plusieurs checkbox ( une par destinataire ). Si la Checkbox est cochée, alors l'adresse liée fait partie des destinataire.
Mon code actuel :
Sub Envoyer()
Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim CurrFile As String
Dim No As String
No = Workbooks("GestionFIQ.xls").Sheets("FIQ").Range("Y2").Value
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = Sheets("Présentation").Range("E247").Value
.To = Sheets("Présentation").Range("E248").Value
.Subject = "FIQ N° " & No & ""
.Body = Sheets("Présentation").Range("D247").Value
.Attachments.Add "C:\Documents and Settings\fx.marette\Mes documents\TestSVG\FIQ N° " & No & ".xls"
.Send
End With
End Sub
En gros , pour l'exemple, je vais expliquer avec 3 destinataires.
Dans la cellule A1, l'adresse mail du premier destinataire,
A2, l'adresse mail du deuxième destinataire,
A3, l'adresse mail du troisième destinataire.
A coté 3 checkox ( checkbox1, checkbox2, et checkbox3) chacune liée aux différents destinataires.
Je souhaite faire en sorte que si la checkbox1, et la checkbox2 sont cochées alors lorsque l'on envoie le mail, ca ne l'envoie qu'au 2 premiers destinataires.
Ainsi si la checkbox1, et la checkbox3 sont cochées, cela ne l'envoie qu'au 1er et au 3ème destinataire.
Est ce possible ?
Quelqu'un peut il m'aider s'il vous plait ?
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 16 juil. 2008 à 15:44
Quand tu envois par Outlook un mail, les destinataires sont séparés par des ";", il te faut donc faire la même chose.
Tu remplaces dans ton code la ligne
.To = Sheets("Présentation").Range("E247").Value
qui te sert à rentrer UN destinataire par
.To = ListeDestinataires
où ListeDestinataires est une variable de type String.
Et avant d'exécuter ton code d'envoi du mail, tu alimentes ta variable en vérifiant toutes tes CheckBox
Pour ton exemple, ça donnerait un truc du genre :
ListeDestinataires = ""
if Checkbox1.value = true then
ListeDestinataires = ListeDestinataires & ";" & range("A1").Value
end if
if Checkbox2.value = true then
ListeDestinataires = ListeDestinataires & ";" & range("A2").Value
end if
if Checkbox3.value = true then
ListeDestinataires = ListeDestinataires & ";" & range("A3").Value
end if
Et pour finir, enlever le 1er caractère qui sera un ";" :
ListeDestinataires = right(ListeDestinataires, len(ListeDestinataires)-1)
C'est pour le principe de fonctionnement, après, en fonction de ton nb de CheckBox et de tes besoins, peut être créer une fonction au lieu d'une succession de if, etc ...
Mais avec ça, tu devrais pouvoir t'en sortir ^^