IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Fichier PDF à partir d'une feuille Excel [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2017
    Messages
    1 255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2017
    Messages : 1 255
    Points : 475
    Points
    475
    Par défaut Fichier PDF à partir d'une feuille Excel
    Bonjour,

    Pour créer un PDF, je voudrai simplifier l'utilisation de mon classeur excel en remplaçant la manipulation manuelle d'imprimer en spécifiant l'imprimante "PDF Creator" etc..

    en créant directement le PDF par une macro (dans le même répertoire avec le nom de la feuille Excel)

    est-ce envisageable et fiable ? Jusqu'où peut-on aller dans l'automatisation ?

  2. #2
    Membre habitué Avatar de Wololol
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 104
    Points : 159
    Points
    159
    Par défaut
    Bonjour,

    Cette ligne sauvegarde le classeur courant dans le répertoire courant, et conserve le nom du classeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        ThisWorkbook.Name & ".pdf", Quality:=xlQualityStandard
    Bonne fin de journée

  3. #3
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2017
    Messages
    1 255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2017
    Messages : 1 255
    Points : 475
    Points
    475
    Par défaut
    Merci, c'est une étape, mais comment lancer le PDF sur la zone d'impression définie dans la feuille Excel à partir de la macro ?

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par retraite83 Voir le message
    la manipulation manuelle d'imprimer en spécifiant l'imprimante "PDF Creator" etc..
    Avec le version 2016 (et quelques versions précédentes), il n'est plus indispensable d'avoir PDF Creator pour générer un PDF.
    On peut directement exporter du PDF avec Excel.

    Fichier > Exporter > Créer un document PDF/XPS > Créer PDF/XPS > Publier

    Faire ça avec l'enregistreur de macro actif te permet d'avoir 90% du code tout cuit.

    Citation Envoyé par retraite83 Voir le message
    Merci, c'est une étape, mais comment lancer le PDF sur la zone d'impression définie dans la feuille Excel à partir de la macro ?
    Si tu avais testé le code de Wololol, tu saurais que c'est ce qu'il fait (au plus, il sera nécessaire de remplacer ThisWorkbook par ActiveWorksheet).
    https://msdn.microsoft.com/fr-fr/VBA...t-method-excel

  5. #5
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272
    Par défaut
    Salut, bis repetita placent : plus exactement depuis Office 2007 SP2, le PDF est intégré en natif dans Office et donc PDFCreator ou autre n'est utile que pour manipuler les PDFs

  6. #6
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2017
    Messages
    1 255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2017
    Messages : 1 255
    Points : 475
    Points
    475
    Par défaut
    Merci à tous c'est parfait, j'ai un peu galérer pour générer le bon nom de fichier mais c'est ok, voici ce que j'ai fait (avec votre aide !)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Sheets("PDF F").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        ThisWorkbook.Path & "\" & Nom & ".pdf", Quality:=xlQualityStandard
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim Nom As String
     Nom = ActiveWorkbook.Name
     Nom = Left(Nom, Len(Nom) - 5
    Peut être pas le mieux, mais j'ai pas réussi mieux pour enlever l'extension .xlsm dans le nom du fichier PDF

    Peut être aussi une dernière question sur ce sujet :

    Quand j'ouvre le PDF généré les pages sont en 132%, y-a-t-il un moyen de les ouvrir automatiquement en 50% ?

  7. #7
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par retraite83 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Nom As String
     Nom = ActiveWorkbook.Name
     Nom = Left(Nom, Len(Nom) - 5
    Peut être pas le mieux, mais j'ai pas réussi mieux pour enlever l'extension .xlsm dans le nom du fichier PDF
    Autre solution pour supprimer n'importe quelle extension :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Nom As String
    Nom = ActiveWorkbook.Name
    Nom = Left(Nom, InStrRev(Nom, ".") - 1)

  8. #8
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272
    Par défaut
    Salut, pour le nom via FSO et GetBaseName()

    Sinon suivant le contexte :

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] ouvrir un fichier PDF à partir d'une liste
    Par croky23 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 11/09/2009, 15h53
  2. Créer une image à partir d'une feuille Excel
    Par fredo38 dans le forum Documents
    Réponses: 4
    Dernier message: 03/07/2008, 14h11
  3. Enregistrement d'un fichier Word à partir d'une macro excel
    Par GTBouli dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/04/2008, 12h19
  4. [FPDF] Générer deux fichiers PDF à partir d'une classe
    Par doreen07 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 31/10/2007, 11h17
  5. [ java.net ] récupérer un fichier PDF à partir d'une URL
    Par nico2280 dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 10/11/2005, 11h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo