Intégrer un tableau dans corps d'un mail auto [Résolu/Fermé]

Signaler
Messages postés
300
Date d'inscription
vendredi 15 mars 2013
Statut
Membre
Dernière intervention
31 juillet 2018
-
Messages postés
300
Date d'inscription
vendredi 15 mars 2013
Statut
Membre
Dernière intervention
31 juillet 2018
-
Bonjour,

Je cherche depuis quelques temps un moyen d'intégrer un tableau de mon fichier Excel directement dans le corps d'un mail automatique mais je bloque... Je ne sais pas comment l'intégrer dans mon mail, j'ai essayé de bricoler plusieurs mais rien ne fonctionne, je m'en remets donc à vous.

Merci d'avance pour votre temps et votre aide !

Voici le code que j'utilise en ce moment :
Sub Test()

  Dim OL As Object
  Dim OLmail As Object
  Dim Tableau As Range

Tableau = Activeworksheet.Range("A1:F6")

  Set OLk_Appli = CreateObject("Outlook.Application")
    If OLk_Appli.Explorers.Count > 0 Then
    Else
    On Error Resume Next
    OLk_ok = Shell("C:\Program Files\Microsoft Office\Office18\outlook.exe", vbHide)
    End If
 Err.Clear
 On Error GoTo 0

  Set OL = CreateObject("Outlook.Application")
  Set OLmail = OL.CreateItem(0)


    With OLmail
        .To = "xxx"
        .cc = "xxx"
        .Subject = "Test"
        .Body = "Bonjour," & vbCrLf & vbCrLf _
& "Ci-dessous un recap de la situation " & vbCrLf & vbCrLf _
& "TABLEAU" & vbCrLf & vbCrLf _ 'C'est ici que je souhaiterai l'intégrer
& "Bien à vous,"
        .Display
    End With
    
    
    Set OLmail = Nothing
    Set OL = Nothing
    Set OLk_Appli = Nothing

End sub

1 réponse

Messages postés
6985
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
22 octobre 2020
562
Messages postés
300
Date d'inscription
vendredi 15 mars 2013
Statut
Membre
Dernière intervention
31 juillet 2018
16
Merci, dans ce tuto il est demandé d'activer une library.
Est-ce qu'il suffit de l'activer une fois pour le fichier, ou doit-on l'activer sur tous les PC ou le fichier sera potentiellement utilisé ?
Messages postés
6985
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
22 octobre 2020
562
Si tu as téléchargé le fichier tu as du t'apercevoir qu'elle était manquante. Il fallait décocher et ensuite faire défiler pour aller la chercher et la cocher!
Cela tous les nouveaux utilisateurs auront à le faire. Il faudra leur signaler comme cela a été fait dans le tuto.

Voilà

@+ Le Pivert
Messages postés
300
Date d'inscription
vendredi 15 mars 2013
Statut
Membre
Dernière intervention
31 juillet 2018
16
Bonjour,

Merci pour cette précision (je n'ai pas pu télécharger de fichier, tous les téléchargements sont bloqués dans mon entreprise).
Cette solution n'est donc pas non plus envisageable pour moi car le fichier sera partagé à plusieurs utilisateurs sur plusieurs site de production, ce n'est donc pas réalisable.

Peut-on envisager une autre solution ?
Messages postés
6985
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
22 octobre 2020
562
Oui, la 1ére solution en la modifiant comme ceci:

Sub Send_Range()
   ' Select the range of cells on the active worksheet.
   ActiveSheet.Range("A1:E11").Select
   
   ' Show the envelope on the ActiveWorkbook.
   ActiveWorkbook.EnvelopeVisible = True
   
   ' Set the optional introduction field thats adds
   ' some header text to the email body. It also sets
   ' the To and Subject lines. Finally the message
   ' is sent.
   With ActiveSheet.MailEnvelope
      .Introduction = "This is a sample worksheet."
      .Item.To = "adresse destinataire"
      .Item.Subject = "My subject"
      .Item.Display
      '.Item.Send
   End With
End Sub
Messages postés
300
Date d'inscription
vendredi 15 mars 2013
Statut
Membre
Dernière intervention
31 juillet 2018
16
Bonjour,

Je n'étais pas familier et donc pas convaincu par cette méthode, mais après quelques tests je dois avouer que je suis assez satisfait du résultat.

Merci pour l'aide :)

Je clôture le sujet.
Bonne journée,