XL 2016 mail excel récuperer donner issues de plusieures colonnes

youpi457032

XLDnaute Occasionnel
Bonjour,
J'ai une macro mail qui fonctionne très bien. Elle extrait d'une colonne les adresses mail collectées et les recopie en champ Bcc d'Outlook, et sans doublon. Donc super.
J'aimerai y apporter une modification. A savoir récupérer les adresses mails de deux colonnes supplémentaires, si les cellules ne sont pas vides.
Dans ma macro dont je fournis le code ci-après les adresses mail principales sont extraites de la colonne " P " de ma feuille de référence. Je souhaiterais récupérer les adresses mail des colonnes "S " et " V " si après vérifications que les cellules ne soient pas vides, bien sûr, el là encore sans doublon. Quelqu'un peut-il m'aider ?
[/CODE]
Sub Envoyer_Mail_liste_filtr?e_Outlook()
Dim DLig As Long, Lig As Long
Dim ObjOutlook As New Outlook.Application
Dim oBjMail As Outlook.MailItem
Dim Nom_Fichier As String
Dim Destinataire As String
' Activer la r?f?rence : Microsoft Scripting Runtime
' D?finir l'Objet Dictionnaire
Dim MonDico As New Scripting.Dictionary
' Ou d?finir Mondico comme objet et Cr?er l'instance du dictionnaire
' Dim MonDico As Object
'Set MonDico = CreateObject("Scripting.Dictionary")

' Initialiser l'instance Outlook
Set ObjOutlook = New Outlook.Application
Set oBjMail = ObjOutlook.CreateItem(olMailItem)
' Avec la base
With Sheets("base_MALAFRETAZ")
' Derni?re ligne de la feuille
DLig = .Range("P" & Rows.Count).End(xlUp).Row
' Pour chaque ligne
For Lig = 2 To DLig
' V?rifier si ligne affich?e ET si les cellules Sx et Wx = quelquechose
If .Range("P" & Lig).EntireRow.Hidden = False _
And .Range("S" & Lig).Value = "MonCrit?re" _
And .Range("W" & Lig).Value = "MonCrit?re" Then
' En cas d'erreur on continue le code
On Error Resume Next
' Tenter d'ajouter le mail au dictionnaire : doublon impossible
MonDico.Add .Range("P" & Lig).Value, ""
' Si pas d'erreur, ajouter l'adresse
If Err.Number = 0 Then
Destinataire = Destinataire & .Range("P" & Lig).Value & ";"

End If
On Error GoTo 0
End If
Next Lig
End With
' Envoyer le mail
With oBjMail
.BCC = Destinataire 'le destinataire
.Subject = ""
.Body = "Bonjour,"
'.Attachments.Add ActiveWorkbook.FullName
.Display
'.Send ' Ici tu peux l'activer si tu ne veux pas v?rifier le mail
End With
' Effacer les variables objet pour lib?rer la m?moire
Set oBjMail = Nothing
Set ObjOutlook = Nothing
Set MonDico = Nothing
End Sub

[/CODE]
 

Discussions similaires

Réponses
2
Affichages
233
Réponses
12
Affichages
247

Statistiques des forums

Discussions
312 198
Messages
2 086 145
Membres
103 130
dernier inscrit
FRCRUNGR