Aide mail avec pièce jointe

Bonjour à tous,

j'utilise actuellement cette macro pour un tableur (lancée lorsque je clic sur la cellule) et je souhaiterai qu'une pièce jointe soit ajoutée.

La condition c'est que le chemin de la pièce jointe est indiqué sur la ligne concernée.

J'ai testé plusieurs fonctions mais sans résultat, pourriez-vous m'aider svp ?

Merci d'avance

Sub new_mail_with_embedded()

    Set objOL = CreateObject("Outlook.Application")
    Set objMail = objOL.CreateItem(olMailItem)
    objMail.Attachments.Add "C:\Users\FR01060\Documents\logo.jpg"
  On Error Resume Next

    adresse = fmMail.txtMail.Value

  For col = 0 To 5
        With objMail
        .Importance = olImportanceHigh
            .To = ActiveCell.Value
            .CC = ""
            .BCC = ""
            .Subject = contrôle$ & " véhicule immatriculé " & immat$
            txt = txt & fmMail.listAttestations.List(0, col) & " / "
            immat$ = ActiveCell.Offset(0, -7).Value
            echeance$ = ActiveCell.Offset(0, -4).Value
            contrôle$ = ActiveCell.Offset(0, 2).Value

    objMail.HTMLBody = "<span style=""color: #365F91; font-size:15 ; font-family: Calibri ;  "">Blabla etc...

    objMail.Display
    End With
  Next col

    'OutApp.Quit

    On Error GoTo 0

    Set OutMail = Nothing

    Set OutApp = Nothing

End Sub

Bonjour,

Pour ajouter une pièce jointe à ton message outlook, il faut utiliser la propriété attachements : https://docs.microsoft.com/fr-fr/office/vba/api/outlook.attachments.add

Il faudra surtout travailler avec la Source en renseignant le chemin menant à la pièce jointe dans l'ordinateur, il y a un exemple de code et de nombreuses explications qui sont données, j'espère que cela servira.

Bonjour à tous,

Je propose une réorganisation du code avec un déclenchement lors d'un double-clic sur une cellule en colonne 8 (adapter) qui exécute la macro Envoimail, celle-ci dépendant de la cellule double-cliquée.

Il faut arriver à rendre le chemin variable (il devrait apparaitre sur la ligne de la cible).

J'ai laissé la propriété htmlbody en l'état pour l'instant mais elle est à définir correctement. Si j'ai bien compris, il faudra bien affecter la variable txt dont elle dépend.

'CODE A PLACER DANS UN MODULE NORMAL
Sub EnvoiMail(Cible as range)

if msgbox("Confirmez-vous l'envoi par mail ?", vbyesno + vbinformation) <> vbyes then exit sub

PJ = "C:\Users\FR01060\Documents\logo.jpg" '<<<< doit dépendre de la cellule cliquée (PJ = Cible.offset(0, 1) par ex)

if dir(PJ) = "" then
    msgbox "Fichier inexistant", vbcritical, "Echec de l'envoi du mail"
    exit sub
end if

immat$ = Cible.Offset(0, -7).Value
echeance$ = Cible.Offset(0, -4).Value
contrôle$ = Cible.Offset(0, 2).Value
dest$ = Cible.Value
adresse = fmMail.txtMail.Value '<<< ???

For col = 0 To 5
    txt = txt & fmMail.listAttestations.List(0, col) & " / "
next col

Set objOL = CreateObject("Outlook.Application")
Set objMail = objOL.CreateItem(olMailItem)

With objMail
    .Importance = olImportanceHigh
    .To = dest
    .Subject = contrôle$ & " véhicule immatriculé " & immat$
    '.HTMLBody = "<span style=""color: #365F91; font-size:15 ; font-family: Calibri ;  "">Blabla etc...
    .Attachments.Add PJ
    .Display
    '.send 'envoi
End With

'OutApp.Quit
Set OutMail = Nothing
Set OutApp = Nothing

End Sub

'CODE A PLACER DANS LE MODULE DE FEUILLE CONCERNEE (CELLE DU DOUBLE CLIC)
private sub worksheet_beforedoubleclick(byval target as range, cancel as boolean)
if not intersect(target, columns(8)) is nothing then '<<<< ADAPTER COLONNE
    cancel = true
    call EnvoiMail(target)
end if
end sub

Cdlt,

Rechercher des sujets similaires à "aide mail piece jointe"