Envoie de mails individuels avec filtre tableaux

Bonjour à toutes et à tous :)

Je me permets de rédiger ce mail car butant sur problème depuis quelque temps et totalement néophyte en la matière, j'estime qu'il est temps de solliciter l'aide de vétérans.

Voici le contexte : J'ai créé un simple mailing list qui me permet après filtrage des adresses électronique dans un tableau d'envoyer le message convenu aux destinataires filtrés. En revanche, lorsque je lance mon code, ne sont pris en compte uniquement les adresses des premières lignes.

Exemple : après avoir filtré mes adresses mails selon x critères, les 2 dernières s'affichent. Alors, lorsque je lance mon code, celui-ci affichera non pas les 2 dernières adresses électroniques mais les 2 premières. En somme, j'aimerai que les mails contenus dans les cellules visibles s'affichent.

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:B100").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

En tout cas, je vous remercie par avance d'avoir pris le temps de lire ces quelques lignes et de bien vouloir m'apporter votre éclairage sur ce modeste problème.

Bien à vous,

Boby

Bonjour Boby,

C'est normal, ta ligne

 last_row = Application.CountA(Remi.range("B1:B100").SpecialCells(xlCellTypeVisible))

ne fait que compter les nombre de ligne visible, donc même si elle t'affiche les 2 dernières lignes de ton tableau tu aura last_row = 3 et ta boucle prendra les lignes 2 et 3.

Voilà ton fichier corrigé ;) j'ai modifié last_row et mis une condition pour ne garder que les lignes visibles.

Nicolas

PS : pense à mettre le sujet comme résolu

Merci énormément Nicolas, c'est parfait !

Bonne journée à toi

Rechercher des sujets similaires à "envoie mails individuels filtre tableaux"