Inserer un bouton pour imprimer et enregistrer en PDF

Résolu/Fermé
Signaler
-
 Bertrand -
Bonjour,

J'ai quelques difficultes avec les macros VBA, probalement puisque je debute de zero...
j'ai un peu chercher sur google, et dans le forum, mais je n'arrive pas a faire fonctionner les choses comme je veux, bref, j'ai besoin d'aide...

Il s'agit d'un tableur dans lequel je reporte des resultats de tests, et qui me permet de faire quelques calculs pour interpreter ces tests, puis de genere un rapport dans un autre classeur.

Donc le tableau :
Feuill1="Results"
Il s'agit d'une sorte de formulaire dans laquelle j'entre les resultats de mes tests et de mes mesures
Feuill2="Socrates"
Socrates est le nom de la base de donnees que nous utilisons, cette feuille fait les calculs et nous donne les valeurs a entrer dans la base de donnee
Feuill3="Summary"
C'est cette feuille qui constitue le rapport a imprimer et a sauvegarder en PDF sur le serveur

L'action que voudrais faire :
Ajouter un bouton en bas de la feuill1 "Save and Print"
Ce bouton enregistrerait le ficher la feuill3 en PDF sur le serveur (je peux ajouter l'adresse du repertoire dans le code facilement, le nom du ficher serait dans la cellule 'Results!D3') et lancerait automatiquement l'impression du rapport sur notre imprimante...

Si quelqu'un pourrait m'aider avec :
1-creer un bouton qui lance une macro
2- le code de la macro, parceque j'ai chercher, mais j'ai toujours des messages d'erreurs qui apparaissent...

Merci de votre aide !


1 réponse

Messages postés
16115
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
28 novembre 2021
1 562
Bonjour,
une facon de faire excel 2007 et plus

Voir pour le chemin et si ".pdf" utile ou pas (pas preciser dans votre demande)
Sub Tst()
    Application.ScreenUpdating = False
    Sheets("Summary").Select
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & Worksheets("Results").Range("D3") & ".pdf" _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=False
    Application.ScreenUpdating = True
End Sub
Merci beaucoup pour votre aide !
J'ai enfin reussi a faire ce que je voulais !