VBA Envoi de mail automatique, boîte générique

Fermé
metek18 Messages postés 10 Date d'inscription jeudi 9 juillet 2015 Statut Membre Dernière intervention 26 avril 2016 - Modifié par metek18 le 26/04/2016 à 09:49
metek18 Messages postés 10 Date d'inscription jeudi 9 juillet 2015 Statut Membre Dernière intervention 26 avril 2016 - 26 avril 2016 à 11:12
Bonjour,

j'ai créé un outil d'envoi de mail automatique. Il fonctionne mais je reste confronté à deux problèmes. J'ai effectué des recherches mais je n'ai pas trouvé de solutions qui fonctionnent.

1) Actuellement j'envoie les mails de mon adresse personnelle et je voudrais que l'envoi s'effectue d'une adresse générique.

Le From ne fonctionne pas tout comme le
oMail.SendUsingAccount = appOutlook.Session.Accounts("info@monentreprise.fr")

2) Je voudrais pouvoir sélectionner et insérer une plage variable dans le corps de mon mail. Il faudrait effectuer une recherche sur les noms à partir de B2 par exemple et dés qu'il y a une ligne vide on sélectionne la plage de A à D correspondante et on la met dans le mail.

Ainsi, par rapport à l'image fournie, nous aurions dans le premier mail pour dupont on aurait la plage A2:D4 et pour dupond A6:D6. Cela fonctionne pour la première plage mais la boucle s'arrête dès qu'une ligne est blanche. Ca doit être un détail.

Voilà mon code :

Sub Envoi_Mail()

Dim appOutlook As Outlook.Application
Dim oMail As Outlook.MailItem
Dim i, j As Integer
Dim Cell As Range
Dim Principal As String
Dim Plage, Plage1 As String


Set appOutlook = CreateObject("outlook.application")

With Sheets("Feuil1")

For Each Cell In Range("E2:E" & Range("E65536").End(xlUp).Row)

Set oMail = appOutlook.CreateItem(olMailItem)
Application.ScreenUpdating = False

If IsEmpty(Cell.Value) = False Then

Plage = Cell.Offset(0, -4) & " " & Cell.Offset(0, -3) & " " & Cell.Offset(0, -2) & " " & Cell.Offset(0, -1)

Principal = Cell.Value

ElseIf IsEmpty(Cell.Value) = True And IsEmpty(Cell.Offset(0, -1)) = False Then

Plage1 = Cell.Offset(0, -4) & " " & Cell.Offset(0, -3) & " " & Cell.Offset(0, -2) & " " & Cell.Offset(0, -1)

Plage = Plage & Chr(10) & Plage1

Else

With oMail

.Subject = "Test"
.Body = Plage
.BodyFormat = olFormatHTML

'.From = ne fonctionne pas

.To = Cell.Value
.Send

End With

End If

Next Cell

End With

Set appOutlook = Nothing

End Sub



Merci de votre aide !

A voir également:

1 réponse

metek18 Messages postés 10 Date d'inscription jeudi 9 juillet 2015 Statut Membre Dernière intervention 26 avril 2016
26 avril 2016 à 11:12
Visiblement il faut utiliser CDO pour la boîte générique. Par contre j'ai toujours ce problème de la partie 2)
0