VBA Envoi de mail automatique, boîte générique
metek18
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
metek18 Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
metek18 Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
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 :
Merci de votre aide !

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:
- VBA Envoi de mail automatique, boîte générique
- Réponse automatique thunderbird - Guide
- Boîte mail française gratuite - Guide
- Je n'ai plus acces a ma boite mail gmail - Guide
- Boite gmail saturée - Guide
- Clé générique windows 10 - Guide