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 :

export en pdf [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2013
    Messages : 72
    Par défaut export en pdf
    Bonsoir,

    quelqu'un pourrait-il me guider afin d'insérer le code VBA qui convient pour que le résultat de l'export de ma feuille Excel vers PDF reste concentré sur une page.

    voici le code utilisé que je ne parviens pas à compléter:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
      Filename:=chemin & nom_fichier, _
      Quality:=xlQualityStandard, _
      IncludeDocProperties:=True, _
      from:=1, To:=1, _
      IgnorePrintAreas:=False, _
      OpenAfterPublish:=True
    merci pour votre aide.

  2. #2
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 601
    Par défaut
    Bonjour

    Normalement il te suffit d'aller dans les options de mises en page d'Excel et de lui préciser d'ajuster à x pages en hauteur et x pages en largeur. Cette option s'appliquera ensuite automatiquement (sans VBA) à toutes tes futures impressions.

    Si des fois tu veux expressément inclure dans ton code cette mise en page:

    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    With Worksheets("nom_de_ta_feuille").PageSetup
        .Zoom = False
        .FitToPagesTall = 1
        .FitToPagesWide = 1
    End With

    À mettre avant ton code bien sûr puisque la mise en page doit être faite avant l'impression.

    Pour coller plus à ton exemple tu peux remplacer
    Worksheets("nom_de_ta_feuille")
    par
    Activesheet

  3. #3
    Membre confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2013
    Messages : 72
    Par défaut
    Merci Alex pour la réponse qui fonctionne parfaitement mais les boutons de commande que j'avais placé sur la page 2 viennent perturber le processus (:-

    en effet, en fonction des données (c'est une facture) il se fait qu'une colonne de la page excel s'élargisse (question visibilité) et je me retrouve avec cette colonne sur la page 2 où on été placés des boutons de commande.

    Mon objectif est donc d'exporter les colonnes "A to G) de ma facturation vers UNE PAGE PDF sans pour autant y intégrer les boutons de commande qui sont utiles à la manipulations des données mais qui n'ont rien à faire sur le fichier exporté.

    merci à tous,

  4. #4
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 601
    Par défaut
    Pour ne pas imprimer les boutons il suffit de faire un clic droit et de modifier l'option adéquate dans les propriétés

    Nom : Impression bouton.png
Affichages : 90
Taille : 45,3 Ko

    Ensuite vérifiez également si, hors code, vous n'avez pas inséré des sauts de pages forcés manuellement.

  5. #5
    Membre confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2013
    Messages : 72
    Par défaut
    Merci pour cette information que je ne connaissais pas mais le corollaire est que la taille du pdf s'en trouve fortement réduit ce qui n'est pas idéal pour une document devant servir de facture.
    Je suis néanmoins assez content d'avoir trouvé une autre solution en sauvegardant la plage de cellules concernées par la facture.
    Le résultat est parfait et correspond à mon attente.

    merci encore pour votre aide

  6. #6
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 601
    Par défaut
    Vous voulez dire que votre facture était trop rapetissée avec des grandes marges autour ?

    Vous avez peut-être définie une zone d'impression plus grande que nécéssaire. Dans ce cas Excel prend en compte toute votre zone même si elle est vide.
    Dans votre code remplacez
    IgnorePrintAreas:=False
    par
    IgnorePrintAreas:=True

    Ou bien vous avez des cellules contenant seulement des espaces par delà votre facture. Du coup pour Excel ces cellules sont non vides et se charge de les prendre en compte dans l'impression. Mais comme ce sont des espaces vous ne les voyez pas.

  7. #7
    Membre confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2013
    Messages : 72
    Par défaut
    Le problème réside dans le fait que avec la méthode "habituelle", le résultat de l'export est en effet rétréci et donc inadéquat.
    Le problème apparaît lorsqu'en fonction des données la dernière colonne déborde sur la page 2 avec pour résultat que cette page 2 vient comprimer la page 1, ce qui bousille alors le résultat attendu.

    voici un croquis de la page avec débordement
    Nom : facture.PNG
Affichages : 87
Taille : 9,5 Ko

    Par contre en travaillant sur la plage de cellules le résultat est parfait qu'il y ait 1 page ou 2

    voici le code utilisé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
        With ActiveSheet    'sauvegarde au format PDF
     
            Range("A2:G52").Select
            .PageSetup.Zoom = False
            .PageSetup.FitToPagesTall = 1
            .PageSetup.FitToPagesWide = 1
     
            Selection.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=chemin & nom_fichier, _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, _
            from:=1, To:=1, _
            IgnorePrintAreas:=False, _
            OpenAfterPublish:=True
     
         End With

  8. #8
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 601
    Par défaut
    OK
    Bonne continuation alors

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

Discussions similaires

  1. [Crystal Report]Exportation en pdf seulement ?
    Par Sonny dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/02/2006, 13h48
  2. [CR][ASP.NET][C#] Export vers PDF
    Par kaoutara dans le forum SDK
    Réponses: 2
    Dernier message: 20/10/2004, 11h33
  3. [CR] Exporter en PDF a partir d'un CRViewer
    Par Job dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 17/09/2004, 16h02
  4. [CR][VB] comment exporter en pdf ?
    Par speed034 dans le forum SDK
    Réponses: 1
    Dernier message: 29/04/2004, 14h54
  5. [CR] exporter en PDF
    Par Nathy dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 16/05/2002, 09h27

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