Comment joindre plusieurs fichiers à un mail + mise en forme

capture d ecran 2023 03 27 164207

Chez moi, ce code fonctionne parfaitement

Sub Envoi_Mail()

    '// Définition des variables
    Dim OL As Object, myItem As Object, wDoc As Object, corps As Object, trait As Object, ligne As Object
    Dim plage_à_copier As Range
    Dim pièces_jointes()
    Dim i As Integer

    '// définition de la plage de texte à copier
    Set plage_à_copier = Range("E4")

    '// définition des pièces à joindre
    i = 0
    pièces_jointes = Array("")
    With Application.FileDialog(msoFileDialogOpen)
        .AllowMultiSelect = True
        If .Show = -1 Then
            For i = 1 To .SelectedItems.Count
                ReDim Preserve pièces_jointes(i)
                pièces_jointes(i) = .SelectedItems(i)
            Next i
        End If
    End With

    '// assignation application Outlook
    Set OL = CreateObject("Outlook.Application")
    If OL.Explorers.Count = 0 Then
        OL.Session.GetDefaultFolder(olFolderInbox).Display
        OL.ActiveExplorer.WindowState = olMinimized
    End If

    '// Assignation des objets
    Set myItem = OL.CreateItem(olMailItem)
    myItem.BodyFormat = 3    'utilisation de l'éditeur Word

    '// Création Email et envoi
    With myItem

        .To = Range("A4")
        .CC = Range("B4")
        .BCC = Range("C4")
        .Subject = Range("E4")

        .Display    'affichage pour signature et éditeur Word

        ' Début du mail
        Set wDoc = .GetInspector.WordEditor  'lancement éditeur Word
        Set corps = wDoc.Content
        Set trait = corps.InlineShapes.AddHorizontalLineStandard
        Set ligne = trait.Range

        ' Fin du mail avec copie de la plage
        ligne.Move 4, 2
        plage_à_copier.Copy
        ligne.Paste
        ligne.Move 4, 1
        ligne.InsertBefore vbNewLine

        ' Joindre les fichiers
        For i = 1 To UBound(pièces_jointes)
            .Attachments.Add pièces_jointes(i), 1, 1, "pièce"
        Next i

       .Send   'envoi

  End With

End Sub

voici le code vous comprendrez peut etre mieux avec un code pour les pieces jointes ce que je veux dire

Private Sub test_Click()
    Dim xStrFile As String
    Dim xFilePath As String
    Dim xFileDlg As FileDialog
    Dim xFileDlgItem As Variant
    Dim xOutApp As Object

    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")

    Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
    If xFileDlg.Show = -1 Then
        With xOutApp.CreateItem(olMailItem)
            .Display
            .To = Range("A6")
            .CC = Range("B6")
            .BCC = Range("C6")
            .Subject = "test"
            .HTMLBody = "bonjour" & .HTMLBody

            For Each xFileDlgItem In xFileDlg.SelectedItems
                .Attachments.Add xFileDlgItem
            Next xFileDlgItem
            .Display
        End With
    End If

End Sub
Rechercher des sujets similaires à "comment joindre fichiers mail mise forme"