Comment definir un fichier en pièce-jointe

Bonjour à tous

D'abord merci pour toutes les bonnes volontés de ce forum.

Je cherche un moyen pour pouvoir lors de l'envoi de mon mail par le code macro ci-dessous, que la feuille STATSESAME soit en pièce jointe.

Quelqu'un peut-il me donner un coup de main.

Sub Mail_Workbook1()
' Works in Excel 2000, Excel 2002, Excel 2003, Excel 2007, Excel 2010, Outlook 2000, Outlook 2002, Outlook 2003, Outlook 2007, Outlook 2010.
' This example sends the last saved version of the Activeworkbook object .
    Dim OutApp As Object
    Dim OutMail As Object
    Dim texte As String
    Dim I As String

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    I = Range("B29").Value

    On Error Resume Next

    With OutMail
        .To = Range("b29").Value
        .CC = ""
        .BCC = ""
        .Subject = "Bienvenue dans votre"
        .Body = texte
        ' You can add other files by uncommenting the following line.
        '.Attachments.Add ("C:\users/benzoplus/desktop/lm bad.pdf")
        'Ex:.Attachments.Add ("C:\users/benzoplus/desktop/lm bad.pdf")
        ' In place of the following statement, you can use ".Display" to
        ' display the mail.
        .Send
    End With
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing

End Sub

Bonjour,

En enlevant le ' devant cette ligne et en mettant le bon chemin / nom du fichier ?

'.Attachments.Add ("C:\users/benzoplus/desktop/lm bad.pdf")

Merci pour ta réponse.

Au faite c'est pas tout le fichier que je veux joindre mais une feuille du fichier.

Le nom de la feuille = STATSESAME.

Le fichier sera ouvert pendant l'envoi du mail.

Bonjour Zombe

Pour envoyer juste une feuille, tu peux utiliser ce code

Sub Mail_Workbook1()
' Works in Excel 2000, Excel 2002, Excel 2003, Excel 2007, Excel 2010, Outlook 2000, Outlook 2002, Outlook 2003, Outlook 2007, Outlook 2010.
' This example sends the last saved version of the Activeworkbook object .
  Dim OutApp As Object
  Dim OutMail As Object
  Dim texte As String
  Dim I As String
  Dim Rng As String

  ' Copier la feuille dans un nouveau classeur
  Sheets("STATSESAME").Copy
  ' Avec la feuille actuelle
  With ActiveSheet
    ' récupérer la dernière cellule utilisée
    Rng = .Cells.SpecialCells(xlCellTypeLastCell).Address
    ' Remplacer les formules par des valeurs
    .Range("A1:" & Rng) = .Range("A1:" & Rng).Value
  End With
  ' Enregistrer le nouveau classeur en temporaire
  ActiveWorkbook.SaveAs ThisWorkbook.Path & "\temp.xls"
  ActiveWorkbook.Close
  '
  Set OutApp = CreateObject("Outlook.Application")
  Set OutMail = OutApp.CreateItem(0)
  I = Range("B29").Value

  On Error Resume Next
  With OutMail
    .To = Range("b29").Value
    .CC = ""
    .BCC = ""
    .Subject = "Bienvenue dans votre"
    .Body = texte
    ' You can add other files by uncommenting the following line.
    .Attachments.Add ThisWorkbook.Path & "\temp.xls"
    'Ex:.Attachments.Add ("C:\users/benzoplus/desktop/lm bad.pdf")
    ' In place of the following statement, you can use ".Display" to
    ' display the mail.
    .Send
  End With
  On Error GoTo 0
  ' Supprimer le fichier temporaire
  Kill ThisWorkbook.Path & "\temp.xls"
  ' Effacer les vairable objet
  Set OutMail = Nothing
  Set OutApp = Nothing
End Sub

A+

Salut BRUNOM45

Salut et merci pour ta proposition.

J'aimerai savoir s'il n'ya pas une solution qui permettrai de joindre directement la feuille STATSESAME du classeur en cours?

Non, ta feuille n'existe pas en elle-même, elle fait partie d'un classeur, tu es obligé de faire comme te l'a proposé Bruno et de la copier dans un classeur temporaire.

Cordialement,

Salut Zirak

Merci pour la précision.

Je precise que c'est une opération qui doit se répéter tous les jours.

Est-ce que cela ne va pas entrainer la création de plusieurs classeurs.

Oubien à chaque envoi, il y'aura une creation de classeur temporaire? Quel sera le nom de ce classeur?

Merci

Bonsoir Zombe,

Mon code n'est-il pas assez explicite avec les commentaires ... c'est bien la peine

Un fichier "temp.xls" est créé dans le dossier du fichier d'origine

Ce fichier, une fois envoyé, est supprimé ...

Est-ce assez explicite, maintenant ...

A+

Parfait. Un grand merci à toi.

Rechercher des sujets similaires à "comment definir fichier piece jointe"