Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Envoie de mail avec filtre

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

CompteSupprimé1

XLDnaute Nouveau
Bonjour à tous,

A l'heure où j'écris ce message, je fais mes premiers pas dans le VBA et j'avoue ne pas m'en sortir seul. Je vous serai donc reconnaissant de bien vouloir m'apporter votre éclairage 🙂

Voici la cadre : j'ai un mailing list qui doit servir à envoyer un mail individualisé à chaque adresse électronique renseignés dans une colonne. Ayant rajouté un filtre et le prenant en compte dans mon code, il est censé ne s'afficher que les mails des destinataires filtrés. Or, dans mon cas et après filtrage, l'adresse électronique en ligne 2 est systématiquement prise en compte à chaque fois que je lance le code et l'adresse de la dernière ligne, elle ne sera pas prise en compte.

Ainsi, j'aimerai que seules les adresses filtrées soient prises en compte.

Je vous joins le code et le fichier et vous remercie par avance pour vos réponses.
VB:
Sub mail_indiv_remi()

Dim mail As Worksheet
Set Remi = ThisWorkbook.Sheets("Remi")
Dim i As Integer

Dim OA As Object
Dim msg As Object

Set OA = CreateObject("outlook.application")

Dim last_row As Integer
last_row = Application.CountA(Remi.Range("B1:B200").SpecialCells(xlCellTypeVisible))
For i = 2 To last_row
Set msg = OA.CreateItem(0)
msg.To = Remi.Range("B" & i).Value
msg.CC = Remi.Range("D" & i).Value
msg.Subject = Remi.Range("V12").Value
msg.Body = Remi.Range("V15").Value

If Remi.Range("F" & i).Value <> "" Then
msg.Attachments.Add Remi.Range("F" & i).Value
End If

msg.Display

Next i

MsgBox "Tous vos mails sont affichés"
End Sub

Cdt,

Oscar

PS : vous m'excuserez pour le pseudo
 

Pièces jointes

Bonjour,
Essayez :
VB:
Sub mail_indiv_remi()

Dim mail As Worksheet
Set Remi = ThisWorkbook.Sheets("Remi")
Dim i As Integer

Dim OA As Object
Dim msg As Object

Set OA = CreateObject("outlook.application")

Dim last_row As Integer
last_row = Application.CountA(Remi.Range("B1:B200").SpecialCells(xlCellTypeVisible))
For i = 2 To last_row
If Remi.range("B" & i).visible = True then
Set msg = OA.CreateItem(0)
msg.To = Remi.Range("B" & i).Value
msg.CC = Remi.Range("D" & i).Value
msg.Subject = Remi.Range("V12").Value
msg.Body = Remi.Range("V15").Value
End if

If Remi.Range("F" & i).Value <> "" Then
msg.Attachments.Add Remi.Range("F" & i).Value
End If

msg.Display

Next i

MsgBox "Tous vos mails sont affichés"
End Sub
A +
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
809
Réponses
6
Affichages
739
Réponses
1
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…