Liste mail -> bouton pour envoyer un email

Bonjour,

Recherche aide pour bouton pour envoyer un email à une liste d'entreprise :

- Créer un bouton (macro vba) avec différents parametre :

1 / Ouverture d'un email outlook avec un texte prédéfini ("bonjour, bla bla " mission" B1 et nature "B2" pour le "B3". "Merci bla bla" )

2 / Mail to : addresse1@moncompte.fr

3 / CCI : ensemble des entreprise en copie caché invisibles (ici mails en colonne F)

Voici un fichier joint pour exemple :

Merci par avance de vos retours, toujours fructueux !

Bonne soirée.

Bonjour,

Un exemple en partant du fichier de Bruno Outil de génération de PDF/Feuille/Plage pour envoi par email.

Le fichier envoi 7 mails différents (1 / entreprise)

Si tu souhaites 1 mail pour toute ta liste change la procedure dans le feuil31 par :

Sub Envoi_Mail_Click()
MailProjet = "addresse1@moncompte.fr"
SujetProjet = "Bla bla " & Range("B1") & " - " & Range("B2")
BodyProjet = "Bonjour, bla bla " & "," _
            & "<br><br> mission " & Range("B1") & " nature " & Range("B2") & " Pour le " & Range("B3") _
            & "<br><br> Merci bla bla <br><br>"
ListeMail = ""
    Set TabProjet = ThisWorkbook.Worksheets("Projet").ListObjects("Tab_Benito")
    For LigProjet = 1 To TabProjet.ListRows.Count
        If ListeMail = "" Then
            ListeMail = TabProjet.ListColumns("Mail").DataBodyRange(LigProjet).Value
        Else
            ListeMail = ListeMail & ";" & TabProjet.ListColumns("Mail").DataBodyRange(LigProjet).Value
        End If
    Next LigProjet

BenitoInBodyMail
End Sub

A+

Bonsoir,

Merci Geof52 pour votre retour.

Cela fonctionne très bien et j'ai pu l'adapter sur l'onglet "Projet" de mon classeur global. A suivre, mettre en pratique sur d'autre onglets...

Cependant, ce soir, pour test sur mon ordi de la maison imac : problème : Au lancement de la macro, erreur d'execution "429" - un composant ActiveX ne peut pas créer l'objet.

Après rechecher rapide sur le net, c'est la fonction Set OutApp = CreateObject("Outlook.Application") qui effectivement, n'est pas disponible sur Mac...

Avez vous une solution sans cette fonction ? sinon je traiterais ce document sous format PC uniquement. Merci bcp de votre aide.

Cordialement,

Benoit

Salut,

Teste avec la méthode FollowHyperLink du classeur, si ton client de messagerie est référencé ça devrait le faire.

Private Sub SendMail()
    Dim ShortName As String
    On Error GoTo Cath

    ShortName = Left$(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".", , vbTextCompare) - 1)

    Dim MailAddress As String
    MailAddress = "mailto:adresse@moncompte.fr" ' // A adapter

    Dim MailSubject As String
    ' // Remplacer vbNullString par %20
    MailSubject = "?subject=Bla%20bla%20bla%20" & Replace(Feuil1.Range(A1), vbNullString, "%20", 1, , vbTextCompare)

    Dim MailBody As String
    ' // Remplacer vbNewline par %0A et vbNullString par %20
    MailBody = "&body=Informations%20sur%20le%20projet%20:%20" & _
               Replace(ShortName, " ", "%20", 1, , vbTextCompare) & _
               "%0A%20Indiquez%20votre%20demande%20ci-dessous.%0A"

    ActiveWorkbook.FollowHyperlink MailAddress & MailSubject & MailBody
Finally:
    Exit Sub
Cath:
    MsgBox "Oupss... Nous n'avons pas pu initialiser votre client de messagerie. "
    Resume Finally
End Sub

Attention aux caractères obligatoires "?" devant le sujet, "&" devant body. les retours à la ligne se font avec %0A lire %zéroA.

Bonjour,

Merci de vos réponse, j'ai mis en place le code dans mon fichier et après quelques ajustements, cela fonctionne.

2 petits problèmes :

a / la taille de la police du corps du mail créée n'est pas la même que celle utilisé par défaut (11) dans l'application (siganture par exemple)

b / J'utilise les balises classique de mise en forme html, cependant, je n'arrive pas à mettre en GRAS le texte issu d'une référence celluel type :

<b> agence de : & Range ("F1") _ </B>

Merci de vos retours.

Bonne journée

Salut,

De quel code tu parles ? Si c'est du mien il n'est pas possible à mon avis de changer la mise en forme du texte dans le lien, par contre il doit-être possible de passer par un cellule et de formater le texte de celle-ci. Ensuite tu fais référence à la cellule dans le lien.

Re,

J'ai effectivement utilisé le code de Geof52.

Tout fonctionne très bien sur Pc et je vais resté sur cette base. Merci pour votre retour. ☺

Re bonjour,

En complement de nos précédents échanges,

j'aimerais completer ce codage avec l'envoi du mail automatique uniquement à la derniere ligne completée du tableau.

Merci de vos retour.

Cordialement,

Benoit

Bonjour,

Tu devrais partager ton classeur pour savoir ce qui declenche l'envoi de mail actuellement et quelle cellule de ton tableau doit etre renseignée pour executer la procedure.

A+

Bonjour,

Je réutilise le fichier excel précédemment utilisé au début du sujet.

Je souhaite que le bouton permette l'envoi du mail prédéfini uniquement à la dernier ligne du tableau.

Merci par avance de votre aide

Benoit

Bonjour,

Le code de ton deuxieme bouton :

Sub Envoi_1_Mail_Click()
MailProjet = "addresse1@moncompte.fr"

    Set TabProjet = ThisWorkbook.Worksheets("Projet").ListObjects("Tab_Benito")
        LigProjet = TabProjet.ListRows.Count
        ListeNomEntreprise = TabProjet.ListColumns("Nom Entreprise").DataBodyRange(LigProjet).Value
        ListeNom = TabProjet.ListColumns("Nom").DataBodyRange(LigProjet).Value
        ListePrenom = TabProjet.ListColumns("Prénom").DataBodyRange(LigProjet).Value
        ListeMail = TabProjet.ListColumns("Mail").DataBodyRange(LigProjet).Value

        'Gere le sujet et le corp du mail
        SujetProjet = "Bla bla " & Range("B1") & " - " & Range("B2")
        BodyProjet = "Bonjour, bla bla " & ListePrenom & "," _
                    & "<br><br> mission " & Range("B1") & " nature " & Range("B2") & " Pour le " & Range("B3") _
                    & "<br><br> Merci bla bla <br><br>"

        'Envoi le mail a la derniere ligne du tableau
        BenitoInBodyMail

MsgBox ("Un mail a été généré pour " & ListeNomEntreprise)
End Sub

J'ai suprimé la boucle et défini la "LigProjet" sur la derniere ligne du tableau (+ modification du message de fin)

Et voilà,

j'ai enfin pu me poser sur mon classeur excel ce soir et le résultat est satisfaisant.

Tout fonctionne comme voulu.

Merci bcp pour votre aide et boutons envoi mails via excel.....

A bientot.

Cordialement, Benoit

Rechercher des sujets similaires à "liste mail bouton envoyer email"