Enregistrement feuille en PDF avec VBA

naitgo

XLDnaute Nouveau
Bonjour à tous,

Avec votre aide j'ai créé un code qui enregistre une feuille au format ".xlsm" et au format ".pdf".
Avec XP tous fonctionne bien, mais maintenant je veux le faire fonctionner sous Windows 7 et là ça coince au moment de l'enregistrement du "pdf", le fichier au format "xlsm" s'enregistre correctement.
Je ne comprends pas pourquoi d'où vient le souci.
Quelqu'un aurait-il la solution à ce problème ?

D'avance je vous remercie pour votre aide.

Voici le code :
Code:
Private Sub CommandButton1_Click()

    'enregistre le fichier excel
    ActiveWorkbook.SaveAs Filename:="E:\Mes Documents\Graphic Communication\Devis Clients\" & [C12].Value & " " & [F9].Value & ".xlsm"
    'enregistre la lettre en .PDF
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "E:\Mes documents\Graphic Communication\Devis Clients\" & [C12].Value & " " & [F9].Value & ".pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
        
    'envoi la dernière version enregistrée.
    Dim OutApp As Object
    Dim OutMail As Object

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

    On Error Resume Next
   ' modifie l'adresse mail et le sujet avant l'envoi
    With OutMail
        .To = Sheets("Lettre").Range("F12")
        .CC = ""
        .BCC = ""
        .Subject = "Devis n°" & " " & [C12].Value
        .Body = "bonjour,"
        .HTMLBody = "<HTML><HEAD></HEAD> " & vbCr & _
                "<BODY bgColor=#ffffff>" & vbCr & _
                "<DIV><FONT face=Arial size=3>Bonjour,</FONT></DIV>" & vbCr & _
                "<DIV><FONT face=Arial size=3> </FONT></DIV>" & vbCr & _
                "<br>" & vbCr & _
                "<DIV><FONT face=Arial size=3>Veuillez trouver, en pièce jointe, l'offre de prix concernant votre demande.</FONT></DIV>" & vbCr & _
                "<DIV><FONT face=Arial size=3></FONT></DIV>" & vbCr & _
                "<DIV><FONT face=Arial size=3>Sincères Salutations.</FONT></DIV>" & vbCr & _
                "<DIV><FONT face=Arial size=3> </FONT></DIV>" & vbCr & _
                "<br>" & vbCr & _
                "<blockquote><DIV><FONT face=Arial size=3>Christian  GOURDON</FONT></DIV></blockquote>" & vbCr & _
                "<img src=""E:\logo_signature.jpg"" /></BODY></HTML>"
                                
        'joint le classeur
        '.Attachments.Add ActiveWorkbook.FullName
        ' joint le fichier ciblé par son chemin
        .Attachments.Add ("E:\Mes documents\Graphic Communication\Devis Clients\" & [C12].Value & " " & [F9].Value & ".pdf")
        
        ' affiche le mail avant son envoi.
        .Display
        'envoi le mail sans affichage préalable
        '.Send
    End With
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing
        
        
        

End Sub
 

naitgo

XLDnaute Nouveau
Re : Enregistrement feuille en PDF avec VBA

Je crois avoir trouvé, il fallait télécharger un module complémentaire pour l'enregistrement des PDF et XPS.
Maintenant le code fonctionne correctement.
Merci quand même pour votre aide.
à +
 

naitgo

XLDnaute Nouveau
Re : Enregistrement feuille en PDF avec VBA

Bonjour,

C'est vrai que je n'ai pas vraiment détaillé la solution de mon problème, je essayer de le faire.

Par défaut, Office 2007 ne peut enregistrer directement au format PDF. Il faut installer un Plugin fourni gratuitement par Microsoft.

Vous pouvez télécharger ce plugin à cette adresse :


Une fois le plugin téléchargé, exécutez-le et installez-le (prenez soin de fermer toutes les applications Office avant l'installation).

Excel dispose alors d'une option permettant d'enregistrer au format PDF ou XPS.

Voilà, peut-être que cela peut éviter à quelqu'un (comme moi) de passer des heures chercher.

A bientôt
 

Eya

XLDnaute Nouveau
Re : Enregistrement feuille en PDF avec VBA

Rebonjour Naitgo,
Je viens de l'essayer, mon problème est à moitié résolu. j'ai le PDF qu s'affiche maintenant, c'est génial, sauf que l'enregistrement en fichier excel et en fichier PDF se font dans un endroit totalement différent de celui que j'ai indiqué dans ma formule. En effet, j'ai crée un dossier qui s'appelle Factures M.G.T dans le disque D:\, et l'enregistrement se fait dans bibliothèques, dans documents.
Est ce que vous avez une solution à ce problème.

Je vous joint le fichier.

Je vous remercie infiniment d'avoir partager la solution du plugin.

A+
 

Pièces jointes

  • Facturier M.G.T.xlsm
    274.1 KB · Affichages: 51
  • Facturier M.G.T.xlsm
    274.1 KB · Affichages: 47

Discussions similaires

Réponses
6
Affichages
311
Réponses
10
Affichages
1 K
Réponses
1
Affichages
558

Membres actuellement en ligne

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 520
dernier inscrit
Azise