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

XL 2013 Envoi mail avec choix

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

  • Coordonnéestest.xlsm
    24.1 KB · Affichages: 25

Lone-wolf

XLDnaute Barbatruc
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

  • Outlook.xlsm
    22.7 KB · Affichages: 34
Dernière édition:

Moreno076

XLDnaute Impliqué
Bonsoir. J'ai un soucis avec les emails. Ils ne se mettent pas tous en bleu et quand certains s y mettent comme le premier par exemple, ca ne prend que le premier email. je n(y comprend rien
 

Pièces jointes

  • Coordonnées.xlsm
    24.6 KB · Affichages: 39

Lone-wolf

XLDnaute Barbatruc
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:

Discussions similaires

Réponses
2
Affichages
270
Réponses
8
Affichages
178
Réponses
5
Affichages
375
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…