Ouvrir messagerie pour envoi d'email avec PJ

Ok merci, j'essayerai dès que je serai sur le bon PC!

Ok, je viens d'essayer, ça fonctionne! Merci!

Avec plaisir. Mes excuses pour les aller retour. L'objet à l'aveuglette, surtout quand il s'agit d'objets Outlook, ce n'est pas ma spécialité!

Je vais pas me plaindre alors que je ne me souviens presque de rien en programmation VB!

C'est possible d'enregistrer le devis en PDF sous le nom du numéro de devis pour le conserver? Je vois bien qu'il suffit de retirer le kill mais je ne vois pas comment mettre en nom une cellule.

De plus, est-ce qu'il est possible d'avoir un numéro de devis automatique avec les initiales de la personne qui saisie le devis + la date + un numéro qui s'incrémente à chaque devis enregistré?

Je ne vois pas où est ton numéro de devis...

Supposons par la suite qu'il soit dans la feuille devis dans la case D8

Sub Macro1()
    Dim strPath$, ColAttach
   Dim Dossier$
   Dim Nom$
Dim myOlApp As Outlook.Application
Dim outlookitem As Outlook.MailItem
Set myOlApp = CreateObject("Outlook.Application")
    Set outlookitem = myOlApp.CreateItem(olMailItem)
        Const olByValue = 1
        outlookitem.To = Workbooks("Devis Basique.xlsm").Sheets("Feuille Diags").Range("E42")
        outlookitem.Subject = "Envoi du devis"
        x = InputBox("Coprs de texte au choix")
        outlookitem.Body = x
        Set ColAttach = outlookitem.Attachments
       'ici tu mets le nom de ton dossier
       Dossier = "C:\Users\tonuser\Desktop\"
       'ici tu mets la case ou tu as construit ton numéro de devis
       Nom = Workbooks("Devis Basique.xlsm").Sheets("Devis").Range("D8") & ".pdf"
       Workbooks("Devis Basique.xlsm").Sheets("Devis").Range("B2:L78").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Dossier & nom, IgnorePrintAreas:=True, OpenAfterPublish:=False
        ColAttach.Add dossier & nom, olByValue, 1, "File Attachment"
        outlookitem.Display
       ' Kill "C:\Users\tonuser\Desktop\devis.pdf"
End Sub

Il te suffira de mettre une formule excel dans la case D8

Avec les fonction droite gauche txt pour trouver les initiales de ton vendeur, remplacer les / de ta date par des espaces puisque un nom de fichier ne peut pas contenir de /. Et mettre un compteur...

Tout bidon à la hauteur de mon petit frère.

Par exemple. Si dans G3 tu as le nom de ton vendeur et dans B2 ton compteur de devis.. tu écriras dans D8

=GAUCHE(G3;1) & STXT(G3;CHERCHE(" ";G3;1)+1;1) & JOUR(AUJOURDHUI()) & MOIS(AUJOURDHUI()) & ANNEE(AUJOURDHUI()) & B2

A adapter

Ouais ok ça marche, merci.

Je vais regarder.

J'ai de nouveau un problème dans VBA par contre avec une erreur : Erreur système &H8007007B (-2147024773). La syntaxe du nom de fichier, de répertoire ou de volume est incorrect.

    Sub Macro1()
        Dim strPath$, ColAttach
       Dim Dossier$
       Dim Nom$
    Dim myOlApp As Outlook.Application
    Dim outlookitem As Outlook.MailItem
    Set myOlApp = CreateObject("Outlook.Application")
        Set outlookitem = myOlApp.CreateItem(olMailItem)
            Const olByValue = 1
            outlookitem.To = Workbooks("Devis Basique.xlsm").Sheets("Feuille Diags").Range("E42")
            outlookitem.Subject = Workbooks("Devis Basique.xlsm").Sheets("Feuille Diags").Range("D77")
            outlookitem.Body = "Bonjour," & vbCrLf & "Veuillez trouver ci-joint le devis de votre requête." & vbCrLf & "Bien cordialement," & Workbooks("Devis Basique.xlsm").Sheets("Feuille Diags").Range("D6")
            Set ColAttach = outlookitem.Attachments
           'ici tu mets le nom de ton dossier
          Dossier = "C:\test\"
           'ici tu mets la case ou tu as construit ton numéro de devis
          Nom = Workbooks("Devis Basique.xlsm").Sheets("Devis").Range("D8") & ".pdf"
           Workbooks("Devis Basique.xlsm").Sheets("Devis").Range("B2:L78").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Dossier & Nom, IgnorePrintAreas:=True, OpenAfterPublish:=False
            ColAttach.Add Dossier & Nom, olByValue, 1, "File Attachment"
            outlookitem.Display
           ' Kill "C:\Users\tonuser\Desktop\devis.pdf"
    End Sub

Sachant que j'ai créé un dossier test dans la racine.

Dans la version précédente, le même dossier fonctionnait.

Nom = Workbooks("Devis Basique.xlsm").Sheets("Devis").Range("D8") & ".pdf"

Que vaut la variable nom....

C'est parfait, tout fonctionne, merci!

Rechercher des sujets similaires à "ouvrir messagerie envoi email"