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.
Cdt,
Oscar
PS : vous m'excuserez pour le pseudo
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