TechnologyNewStore
XLDnaute Nouveau
Bonjour à tous,
Je cherche depuis quelques jours à faire l'envoi d'un mail groupé sous conditions. Voici ma configuration :
Je dispose d'une Feuil1 avec une liste de nom en colonne B à partir de la ligne 18. Sur cette feuille, les colonnes C et E seront complétées par des informations avec du texte (type "OK"). Les colonnes C et E ne pourront pas accueillir toutes les deux du texte sur une même ligne (soit dans C, soit dans E).
Si les colonnes C et E sont vides, il faudrait qu'un mail soit envoyé aux noms associés lorsque les deux colonnes (en même temps) grâce aux mails listés en Feuil2.
Sur la Feuil2, on retrouve la liste des noms en colonne B (à partir de la ligne 2) et les mails associés aux noms en colonne E (à partir de la ligne 2).
Je pense qu'il faut coder cela avec une boucle "For Each" et faire une comparaison entre les noms de la Feuil1 et de la Feuil2 lorsque les conditions sur la Feuil1 sont respectées mais je n'ai pas trouvé comment faire.
Pour information, le listing des noms sera variable avec le temps (j'ai vu des instructions dans des boucles qui pouvaient aller jusqu'à la dernière ligne au lieu de mettre un grand nombre).
En première étape, j'ai réussi à lancer mon "Button1" qui envoi un mail à tout le monde (sans conditions) :
Ensuite, j'ai tenté ce code avec conditions mais sans succès :
Auriez-vous des pistes à me donner svp ?
Merci par avance.
Je vous remercie d'avance.
Je cherche depuis quelques jours à faire l'envoi d'un mail groupé sous conditions. Voici ma configuration :
Je dispose d'une Feuil1 avec une liste de nom en colonne B à partir de la ligne 18. Sur cette feuille, les colonnes C et E seront complétées par des informations avec du texte (type "OK"). Les colonnes C et E ne pourront pas accueillir toutes les deux du texte sur une même ligne (soit dans C, soit dans E).
Si les colonnes C et E sont vides, il faudrait qu'un mail soit envoyé aux noms associés lorsque les deux colonnes (en même temps) grâce aux mails listés en Feuil2.
Sur la Feuil2, on retrouve la liste des noms en colonne B (à partir de la ligne 2) et les mails associés aux noms en colonne E (à partir de la ligne 2).
Je pense qu'il faut coder cela avec une boucle "For Each" et faire une comparaison entre les noms de la Feuil1 et de la Feuil2 lorsque les conditions sur la Feuil1 sont respectées mais je n'ai pas trouvé comment faire.
Pour information, le listing des noms sera variable avec le temps (j'ai vu des instructions dans des boucles qui pouvaient aller jusqu'à la dernière ligne au lieu de mettre un grand nombre).
En première étape, j'ai réussi à lancer mon "Button1" qui envoi un mail à tout le monde (sans conditions) :
VB:
Private Sub Button1_Click()
Dim LeMail As Variant
Dim adresses As Range
Dim dest As String
For Each adresses In Sheets("Feuil2").Range("E2:E100")
dest = dest + adresses.Value + ";"
Next adresses
Set LeMail = CreateObject("Outlook.Application") 'Création d'un objet Outlook
With LeMail.CreateItem(olMailItem) 'Informe le programme que nous voulons envoyer un mail
.Subject = "Rappel"
.To = dest
.Body = "Ceci est un mail de rappel généré automatiquement."
.Display 'Afficher le mail
End With
End Sub
Ensuite, j'ai tenté ce code avec conditions mais sans succès :
VB:
Private Sub Button1_Click()
Dim dest As String
Dim i,j As Byte
Dim adresses As Range
For i = 18 To 100
For j = 2 To 100
If ThisWorkbook.Worksheets("Feuil1").Cells(i, 3) & Cells(i, 5).Value = "" Then
For Each adresses In Sheets("Feuil2").Cells(j, 5)
dest = dest + adresses.Value + ";"
Next adresses
Set ObjOutlook = New Outlook.Application
Set oBjMail = ObjOutlook.CreateItem(olItem)
With oBjMail
.Subject = "Rappel"
.To = dest
.Body = "Ceci est un mail de rappel généré automatiquement."
.Display 'Afficher le mail
End With
End If
Next
End Sub
Auriez-vous des pistes à me donner svp ?
Merci par avance.
Je vous remercie d'avance.