Envoi par Outlook

Bonjour à tous,

J'aimerais savoir comment organiser un envoi d'un fichier par Outlook.

Le problème: mon fichier s'enregistre automatiquement au format PDF sous un nom défini comme suit:

[Nom = Worksheets("Fiche").Range("D8").Value

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

Nom & "Advisor" & ".pdf"]

Nom = Worksheets("Fiche").Range("D8").Value

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

Nom & "Advisor" & ".pdf"

Je n'arrive donc pas à définir le nom du fichier à prendre par Outlook. Mon code:

[Sub SendMail()

Dim OutApp As Object

Dim OutMail As Object

Dim S As Shape

Dim sNomFic As String, sRep As String, WshShell As Object

sNomFic = Worksheets("Fiche").Range("D8").Value

Set OutApp = CreateObject("outlook.application")

Set OutMail = OutApp.CreateItem(0)

With OutMail

.Subject = "FI"

.Display

End With

End Sub]

Le nom du fichier à envoyer n'est donc pas constant, il dépend de la valeur d'une cellule.

Merci à tous de votre aide.

Mets le code en utilisant le bouton code ... ce sera plus lisible.

Pour attacher un fichier :

        .Attachments.Add chemin & sNomFic & ".pdf"

où chemin contient le chemin s'il n'est pas inclus dans sNomFic


Si problème, fais au préalable un msgbox sNomFic ou un debug.print sNomFic

Bonjour,

Merci pour votre réponse.

Est-il possible d'envoyer par mail un fichier actuellement ouvert, sans qu'il soit enregistré sur l'ordinateur ?

Bonjour,

Je ne sais pas, mais tu peux toujours enregistrer un fichier temporaire et le supprimer. Exemple :

Option Explicit
Sub envoi()

Dim messagerie As Object
Dim email As Object
Dim nompdf As String

On Error GoTo erreur

    nompdf = Environ("Temp") & "\" & "fichier test"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nompdf & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

    Set messagerie = CreateObject("Outlook.Application")
    Set email = messagerie.CreateItem(0)
    With email
        .to = Sheets("param").Range("B1")
        .Subject = Sheets("param").Range("B2")
        .body = "test"
        .ReadReceiptRequested = True
        .Attachments.Add nompdf & ".pdf"
        .display
    End With
    Set messagerie = Nothing
    Set email = Nothing

    Kill Environ("Temp") & "\" & "fichier test" & ".pdf"

Exit Sub

erreur:

    MsgBox "Erreur : " & Err.Number & vbLf & Err.Description

End Sub

Merci !

Rechercher des sujets similaires à "envoi outlook"