Je veux envoyer un mail a plusieurs personnes après avoir choisi les personnes a partir d'une listbox, la listbox est rempli a partir d'une feuille "service" colonne A (noms des personnes), les adresse mail associées se trouvent en colonne E.
L'operation est la suivante, on crée un fichier pdf, on le sauvegarde apres on envoit un mail:
CODE 1 creattion du pdf, sauvegarde et on envoi mail
Private Sub Valider_Click()
'Sauvegarder les donnees
SauvegardeFA
'creation pdf
PDFCreator Me
'envoie du mail
subject = "Nouvelle fiche anomalie : FA " & NumFA.Value & " cr?er par " & Nom1.Value
body = "Une Nouvelle fiche anomalie vient d'?tre cr?er : " & Description1.Value
sendMail CStr(subject), CStr(body)
'reinitialiser le formulaire
''vider le formulaire
For Each ctrl In Me.Controls
If (TypeName(ctrl) = "TextBox" Or TypeName(ctrl) = "ComboBox") Then
ctrl.Value = ""
End If
Next
End Sub
Avec SendMail c'est un module:
CODE 2
Public Sub sendMail(subject As String, body As String)
'ouverture outlook
Set oOutlook = CreateObject("Outlook.Application")
SelectionDestinataire.Show 'userform pour choisir les destinataires
If SelectDestChoice = "Annuler" Then
Exit Sub
Else
mailDest = ThisWorkbook.Worksheets("service").Range("E" & CInt(SelectDestChoice) + 2).Value
End If
'Personnes qui reçoivent les mails automatiquement
mailA = "aaa@gmail.com"
mailB = "bbb@gmail.com.com"
Set oMailItem = oOutlook.CreateItem(olMailItem) 'cree un objet mail
oMailItem.To = mailDest & ";" & mailB & ";" & mailA 'EmailDestinataire
oMailItem.subject = "[Mail automatique]" & subject 'SujetMail
oMailItem.attachments.Add PDFPath & "\" & PDFName
oMailItem.body = body 'CorpsMail
oMailItem.Send 'Envoi du mail
End Sub
CODE3
Dans le userform SelectionDestinataire, on chosit les personnes et puis on valide:
Private Sub Valider_Click() 'choisir les personnes
For i = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(i) = True Then temp = temp & Me.ListBox1.list(i) & " "
Next i
' MsgBox temp
SelectDestChoice = me.ListBox1.ListIndex
Unload Me
End Sub
Pour les 2 personnes ou le mail s'envoi automatiquement ca passe sans aucun probleme, mais pour ceux que je choisi a partir de la listbox il me choisi une seule personne et c tjr la mm personne
L'operation est la suivante, on crée un fichier pdf, on le sauvegarde apres on envoit un mail:
CODE 1 creattion du pdf, sauvegarde et on envoi mail
Private Sub Valider_Click()
'Sauvegarder les donnees
SauvegardeFA
'creation pdf
PDFCreator Me
'envoie du mail
subject = "Nouvelle fiche anomalie : FA " & NumFA.Value & " cr?er par " & Nom1.Value
body = "Une Nouvelle fiche anomalie vient d'?tre cr?er : " & Description1.Value
sendMail CStr(subject), CStr(body)
'reinitialiser le formulaire
''vider le formulaire
For Each ctrl In Me.Controls
If (TypeName(ctrl) = "TextBox" Or TypeName(ctrl) = "ComboBox") Then
ctrl.Value = ""
End If
Next
End Sub
Avec SendMail c'est un module:
CODE 2
Public Sub sendMail(subject As String, body As String)
'ouverture outlook
Set oOutlook = CreateObject("Outlook.Application")
SelectionDestinataire.Show 'userform pour choisir les destinataires
If SelectDestChoice = "Annuler" Then
Exit Sub
Else
mailDest = ThisWorkbook.Worksheets("service").Range("E" & CInt(SelectDestChoice) + 2).Value
End If
'Personnes qui reçoivent les mails automatiquement
mailA = "aaa@gmail.com"
mailB = "bbb@gmail.com.com"
Set oMailItem = oOutlook.CreateItem(olMailItem) 'cree un objet mail
oMailItem.To = mailDest & ";" & mailB & ";" & mailA 'EmailDestinataire
oMailItem.subject = "[Mail automatique]" & subject 'SujetMail
oMailItem.attachments.Add PDFPath & "\" & PDFName
oMailItem.body = body 'CorpsMail
oMailItem.Send 'Envoi du mail
End Sub
CODE3
Dans le userform SelectionDestinataire, on chosit les personnes et puis on valide:
Private Sub Valider_Click() 'choisir les personnes
For i = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(i) = True Then temp = temp & Me.ListBox1.list(i) & " "
Next i
' MsgBox temp
SelectDestChoice = me.ListBox1.ListIndex
Unload Me
End Sub
Pour les 2 personnes ou le mail s'envoi automatiquement ca passe sans aucun probleme, mais pour ceux que je choisi a partir de la listbox il me choisi une seule personne et c tjr la mm personne
Dernière édition: