Macro pour sauvegarder en PDF

Bonjour à tous,

Je viens de terminer un code qui met en page une feuille Excel. J'aimerais à présent qu'à la fin de ce code la feuille Excel concernée soit automatiquement sauvegardée en PDF (sans passer par PDF créator ).

J'ai utilisé la méthode

ActiveSheet.ExportAsFixedFormat (en précisant le type:=xlTypePDF)

mais j’obtiens systématiquement un "argument ou appel de procédure incorrect". Je pense que je dois "merdouiller" dans la façon de le formuler.

Quelqu'un pourrait il m'indiquer la (ou les) ligne de code correct pour ne pas obtenir ce message d'erreur . Merci d'avance.

Si j'essaye d’enregistrer une macro ça ne fonctionne pas non plus. (ça ne prend pas en compte l'export en PDF)

Voici mon code , je ne vois pas ou est l'erreur ?

Option Explicit

Sub Tst_2007()
Dim sNomFichierPDF As String

    sNomFichierPDF = ThisWorkbook.Path & "\" & "Essai.pdf"
    Application.ScreenUpdating = False

    Sheets(Array("Feuil1", "Feuil3", "Feuil5" )).Select

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sNomFichierPDF _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=False

    Sheets("Feuil1" ).Select
    Application.ScreenUpdating = True
End Sub 

Re-Bonjour à tous les vaillants 8)

Personne ne peut me dire ou est l'erreur dans mon code Je planche dessus depuis vendredi et j'avoue que je ne comprends pas d’où ça vient.

Merci encore.

Salut,

Je te préviens que je suis une bille en VBA. Mais je constate que dans ton code ta variable 'sNomFichierPDF' contient aussi le chemin d'accés. Soit '\essai.pdf'

Hors le nom de fichier ne peut pas contenir de caractères spéciaux.

Je me trompe peut-être...

Edit: Regarde ici il y a surement la réponse => https://forum.excel-pratique.com/excel/erreur-envoi-mail-en-vba-t33113.html

Bonjour,

je viens de tester la macro et elle fonctionne très bien.

Peut être une piste, regard comment sont nommés les onglets, car dans la macro les noms sont "Feuil1", "Feuil3", "Feuil5". Si tu as personnalisé tes onglets cela peut suffir à planter. Je sais car j'ai fait cette erreur sur une autre macro...

cdt

Francky

Bonjour à vous deux et merci d'avoir pris le temps de me répondre :

benbest a écrit :

Salut,

... dans ton code ta variable 'sNomFichierPDF' contient aussi le chemin d'accés. Soit '\essai.pdf' ...

Il s'agit effectivement du chemin d'accès, ça ne pose pas de problème avec la commande "SaveAs", ça ne devrait donc pas en poser avec "ExportAsFixedFormat "

benbest a écrit :

... Regarde ici il y a surement la réponse => https://forum.excel-pratique.com/excel/erreur-envoi-mail-en-vba-t33113.html

J'ai vu, j'ai utilisé le code et j’obtiens exactement la même erreur !

Francky69100 a écrit :

Bonjour,

je viens de tester la macro et elle fonctionne très bien.

Peut être une piste, regard comment sont nommés les onglets, car dans la macro les noms sont "Feuil1", "Feuil3", "Feuil5". ..

J'ai bien entendu bien vérifié tous mes onglets (d'ailleurs, le code d'erreur ne serait pas "argument ou appel de procédure incorrect") et j’obtiens toujours la même erreur... Tu as testé mon code (copié/collé) et obtenu l'export du fichier en PDF ! Mince alors, ça m'inquiète encore plus, je pensais que ça venait de mon code et là ça ressemble plus à un bug ! Tu es sous EXCEL 2007 pour Windows ?

non, je suis sous 2010, et je ne peux malheureusement pas t'aider su le code car trop novice.

je n'ai pu que vérifier et ça marche. La première fois, ça n'a pas marché, mais j'avais rien mis dans les feuilles excel, du coup, le fichier PDF voulais pas s'ouvrir. Après saisi sur les trois feuilles concernées tout marche bien,

désolé, je passe la main à des plus expérimenté.

Francky

J'ai encore appris des trucs

J'ai essayé avec Excel 2010 et ça marche ! Je vais dire "problème résolu" mais si ce n'est pas tout à fait exact. Merci à vous.

salut je ne suis pas super doué mais j'ai excel 2007 j'ai donc fait un test avec ce code, un petit message d'erreur au début donc j'ai corriger pour moi et la ca fonctionne pourquoi j'en sais rien mais bon bile est comme ca faut pas chercher

Option Explicit

Sub Tst_2007()
Dim sNomFichierPDF As String

    sNomFichierPDF = ThisWorkbook.Path & "\" & "Essai.pdf"

   With Sheets(Array("Feuil1", "Feuil3", "Feuil5")).Select

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sNomFichierPDF _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=False
     End With
    Sheets("Feuil1").Select

End Sub

bonne nuit

cedcyr

Rechercher des sujets similaires à "macro sauvegarder pdf"