Enregistrer TempFile avant envoi mail

Bonjour!

Avec votre aide, j'ai peu résoudre la presque totalité des défis que me posait mon formulaire

Il me reste un souci :

Il y a différents boutons pour envoyer le formulaire par courriel à des personnes précises. Où ça accroche, c'est que l'usager doit enregistrer le formulaire avant de l'envoyer, sinon, les changements apportés ne sont pas envoyés dans le fichier joint.

Donc, j'aimerais modifier la macro derrière chacun de ces boutons pour qu'un fichier temporaire soit créé avant l'envoi et qu'il soit effacé après l'envoi (l'usager n'a pas à conserver le formulaire sur son poste de travail, s'il veut le faire, il n'aura qu'à utiliser le bouton d'enregistrement.)

La macro a l'air de ça :

Sub Bouton142_Clic()
    Dim OutApp As Object
    Dim OutMail As Object

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    On Error Resume Next
    With OutMail
        .To = "xxxxxx@xxxx.qc.ca"
        .CC = ""
        .BCC = ""
        .Subject = "Formulaire de demande d'imagerie"
        .Body = "Bonjour," & Chr(13) & Chr(13) & "Cette demande d'imagerie a été approuvée par les technopédagogues et le suppérieur immédiat du demandeur, veuillez y donner suite SVP." & Chr(13) & Chr(13) & "Merci, et bonne journée!"
        .Attachments.Add ActiveWorkbook.FullName
        'You can add other files also like this
        '.Attachments.Add ("C:\test.txt")
        .Send   'or use .Display
    End With
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing
    MsgBox "Le formulaire a été envoyé à xxxxxx@xxxx.qc.ca" & Chr(13) & Chr(13) & "Nous donnerons suite à votre demande."
End Sub

Merci pour votre aide et votre gentillesse!!

Un exemple avec enregistrement temporaire et suppression (ici en pdf) :

Sub envoi()

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

    ' création fichier et stockage dans le dossier temporaire du PC
    nompdf = Environ("Temp") & "\" & "Consignes"
    Sheets("Consignes").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
' ...
    End With

    ' suppression du fichier temporaire
    Kill Environ("Temp") & "\" & "Consignes" & ".pdf"

End Sub

Merci beaucoup!

J'ai aussi reçu la réponse suivante qui fonctionne très bien :

    Sub Bouton139_Clic()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim strFichier As String

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    strFichier = "\FOR01_66.xlsm"

    'MsgBox Environ("temp") & strFichier
    ' On supprime le fichier temporaire s'il existe.
    If Dir(Environ("temp") & strFichier) <> "" Then Kill Environ("temp") & strFichier

    ActiveWorkbook.SaveAs Environ("temp") & strFichier

    On Error Resume Next
    With OutMail
        .To = "xxxxx@xxxx.qc.ca"
        .CC = ""
        .BCC = ""
        .Subject = "Formulaire de demande d'imagerie"
        .Body = "Bonjour," & Chr(13) & Chr(13) & "Veuillez donner suite à cette demande d'imagerie SVP:" & Chr(13) & Chr(13) & "-Approbation par le directeur des affaires institutionnelles et des communications" & Chr(13) & Chr(13) & "-Envoyer le formulaire au technicien en arts graphiques xxxx@xxxx.qc.ca" & Chr(13) & Chr(13) & "Merci, et bonne journée!"
        .Attachments.Add Environ("temp") & strFichier
        'You can add other files also like this
        '.Attachments.Add ("C:\test.txt")
        .Send   'or use .Display
    End With
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing
    MsgBox "Le formulaire a été envoyé à xxxx@xxxx.qc.ca" & Chr(13) & Chr(13) & "Nous donnerons suite à votre demande."

End Sub
Rechercher des sujets similaires à "enregistrer tempfile envoi mail"