Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Envoi mail avec choix

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Moreno076

XLDnaute Impliqué
Bonjour à tous.

Dans le fichier ci-joint j'aurais besoin que chaque bouton de la colonne B permettent de mettre tous les destinataires dans un mail (messagerie par défaut) microsoft outlook. La liste des e-mails est susceptible d'évoluer donc il faut vraiment que le bouton puisse reprendre les données de la colonne C. Le pied serait qu'en cliquant sur ce bouton, il propose de mettre tous les email ou de choisir un par un (système de cocher?)

Ensuite pour le gros bouton en bas, j'aurais besoin qu'il mettre en destinataire CCi tous les emails de tous les groupes A B C D... Sachant que la colonne A est susceptible d'être rallongée dans le temps. Le pied serait également de pouvoir choisir tous les groupes A B C... ou de pouvoir choisir un par un. (système de cocher?)

Merci pour votre aide. 🙂
 

Pièces jointes

Bonjour Moreno

Un Exemple à adapter à ton cas

VB:
Private Sub CheckBox1_Click()
Dim i As Integer
ListBox1.MultiSelect = fmMultiSelectExtended
On Error Resume Next
For i = 0 To Me![ListBox1].ListCount + 1
Me![ListBox1].Selected(i) = True
Next
End Sub

Private Sub Envois_Click()
Dim i As Byte
Dim olApp, objMail
Dim olmail As MailItem
Dim Chaine As String, OpenFolder

    ChDrive "D"
    ChDir ThisWorkbook.Path & "\"
    OpenFolder = Application.GetOpenFilename("(*.*),*.*")

    For i = 0 To ListBox1.ListCount - 1
      If ListBox1.Selected(i) Then
            Chaine = Chaine & " " & ListBox1.List(i) & ";"
        End If
      Next i

    Set olApp = CreateObject("Outlook.Application")
    Set objMail = olApp.CreateItem(olMailItem)

    With objMail
    .To = Nouveau.Email.Value
    .CC = Trim(Chaine)
    .Subject = ""
    .Body = ""
    If OpenFolder <> False Then .Attachments.Add OpenFolder
    .Display
    End With
End Sub

Un autre exemple mais avec choix par liste en PJ. Double-clique sur la feuille pour envoyer.
 

Pièces jointes

Dernière édition:
Bonsoir Moreno 🙂, le Forum 🙂

Si tu envois avec outlook, pas besoin d'avoir les liens (ou l'écriture en bleu). En plus, quand tu écrit comme ceci

VB:
Sub EnvoiMail()

    With Worksheets("Feuil1")
        If .Range("B3") < .Range("G6") Then
            Set olApp = CreateObject("outlook.application")
            Set olMail = olApp.CreateItem(olMailItem)
            With olMail
                .To = "xxx@yy.com"
               .CC = "zzz@yy.com"
                .Subject = "sujet"
                .Body = " message"
                .send
            End With
        End If
    End With
End Sub

Avec en plus des emails déjà écrits dans la macro, normal que tu n'aie qu'un seul lien. Fait déjà deux colonnes; une pour les premières adresses, l'autre pour les CC. Ensuite il faut faire aussi des boucles For Next. Vas dans les réfénces et coche Microsoft Outlook xx Object Library.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
0
Affichages
102
Réponses
1
Affichages
343
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…