Bouton avec code VBA pour envoyer une plage de données par mail

Bonjour le forum,

Je fais appel à vous pour obtenir de l'aide.
Je suis confronté à un problème persistant avec le code VBA ci-dessous depuis plusieurs jours.

J'ai créé un bouton auquel j'ai associé la macro ci-dessous. Cette macro copie une plage de données et la colle dans le corps du texte du mail.
Ce que je souhaite accomplir, c'est d'ajouter avant le tableau le texte suivant :
"Bonjour,
Ci-dessous le tableau correspondant à votre demande".
Malheureusement, je n'arrive pas à obtenir les deux simultanément. Quand j'affiche le texte, je perds le tableau et quand j'ai le tableau, je perds le texte.

Est-ce qu'un expert en VBA pourrait m'aider ?

Meilleures salutations

Sub Send_Email()
    Dim xRg As Range
    Dim xEmailBody As String
    Dim xMailOut As Object ' Utilisez Object pour éviter une référence anticipée à Outlook

    ' Sélectionner la plage nommée "Tableau1" dans l'onglet "Tableau"
    On Error Resume Next
    Set xRg = ThisWorkbook.Sheets("Tableau").Range("Tableau1")
    On Error GoTo 0

    If xRg Is Nothing Then
        MsgBox "La plage nommée 'Tableau1' n'a pas été trouvée dans l'onglet 'Tableau'. Veuillez vérifier le nom de la plage.", vbExclamation
        Exit Sub
    End If

    ' Copier la plage sélectionnée avec la mise en forme
    xRg.Copy

    ' Créer un nouvel objet MailItem
    Set xMailOut = CreateObject("Outlook.Application").CreateItem(0)

    ' Remplir les détails du message
    With xMailOut
        .Subject = "Test"
        .To = "toto@gmail.ch"
        .Display
        ' Coller les valeurs de la plage sélectionnée avec la mise en forme dans le corps du message
        .GetInspector.WordEditor.Range.PasteAndFormat 16  ' 16 pour coller en tant que tableau
    End With

    ' Nettoyer les objets Outlook
    Set xMailOut = Nothing
    Set xRg = Nothing
End Sub

Bonjour,

A tester

2test-nini007.xlsm (22.40 Ko)

A+

Bonjour,
Je vous remercie pour votre message.

Tout fonctionne parfaitement.
En observant la complexité de votre code, je réalise que je n'aurais pas pu y arriver.

Merci infiniment pour votre aide.

Cordialement.

Rechercher des sujets similaires à "bouton code vba envoyer plage donnees mail"