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 :

Gestion des zones d'impression en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2011
    Messages : 163
    Par défaut Gestion des zones d'impression en VBA
    Bonjour,

    J'ai développé un outil qui génère des factures sous excel.
    Un fois la facture générée , je la convertie au format PDF en mode paysage. La macro fonctionne bien en utilisant cette macro.

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    Sub ZoneImpression()
        Application.ScreenUpdating = False
        DerLig = [A10000].End(xlUp).Row
        DerCol = [Xfd1].End(xlToLeft).Column
        Tableau = Cells(1, 1).Address & ":" & Cells(DerLig, DerCol).Address
        Range(Tableau).Select
        ActiveSheet.PageSetup.PrintArea = Tableau
        ActiveWindow.View = xlPageBreakPreview
        NbPage = ActiveSheet.HPageBreaks.Count + 1
        ActiveWindow.View = xlNormalView
     
    'Formatage avant impression
        With ActiveSheet.PageSetup
            .LeftHeader = ""
            .CenterHeader = ""
            .RightHeader = ""
            .LeftFooter = ""
            .CenterFooter = ""
            .RightFooter = ""
            .LeftMargin = Application.InchesToPoints(0)
            .RightMargin = Application.InchesToPoints(0)
            .TopMargin = Application.InchesToPoints(0)
            .BottomMargin = Application.InchesToPoints(0)
            .HeaderMargin = Application.InchesToPoints(0)
            .FooterMargin = Application.InchesToPoints(0)
            .PrintHeadings = False
            .PrintGridlines = False
            .PrintComments = xlPrintNoComments
            .CenterHorizontally = False
            .CenterVertically = False
            .Orientation = xlLandscape
            .Draft = False
            .PaperSize = xlPaperLetter
            .FirstPageNumber = xlAutomatic
            .Order = xlDownThenOver
            .BlackAndWhite = False
            .Zoom = False
            .FitToPagesWide = 1
            .FitToPagesTall = NbPage
            .PrintErrors = xlPrintErrorsDisplayed
            .OddAndEvenPagesHeaderFooter = False
            .DifferentFirstPageHeaderFooter = False
            .ScaleWithDocHeaderFooter = True
            .AlignMarginsHeaderFooter = True
            .EvenPage.LeftHeader.Text = ""
            .EvenPage.CenterHeader.Text = ""
            .EvenPage.RightHeader.Text = ""
            .EvenPage.LeftFooter.Text = ""
            .EvenPage.CenterFooter.Text = ""
            .EvenPage.RightFooter.Text = ""
            .FirstPage.LeftHeader.Text = ""
            .FirstPage.CenterHeader.Text = ""
            .FirstPage.RightHeader.Text = ""
            .FirstPage.LeftFooter.Text = ""
            .FirstPage.CenterFooter.Text = ""
            .FirstPage.RightFooter.Text = ""
        End With
        'ExecuteExcel4Macro "PRINT(1,,,1,,TRUE,,,,,,1,,,TRUE,,FALSE)"
    End Sub
    Le soucis c'est que chaque facture n'a pas toujours la même taille car plus ou moins de produit et les sauts de page automatique excel ne sont pas toujours bon.
    Parfois le saut de page estime que la mise en page tiens sur une seule page et donc l'impression est compressé et ma facture n'occupe pas toute la largeur d'une feuille A4 ce qui rend la facture illisible.
    Auriez vous une idée pour que chaque impression de facture occupe bien toute la largeur d'une feuille A4 au format paysage quelque soit la facture ?

    Cdt

    Shaka

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 168
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'ai développé un outil qui génère des factures sous excel.
    Un fois la facture générée , je la convertie au format PDF en mode paysage. La macro fonctionne bien en utilisant cette macro
    Cette explication me donne l'impression que la feuille excel servant à établir la facture n'est pas en mode paysage. Je commencerais déjà par là.
    La mise en page d'une feuille par VBA, n'étant pas la plus rapide, je prévoirais un modèle (une feuille vierge, déjà au bon format.

    Personnellement mais évidemment tous les cas ne sont pas semblables, j'ai deux feuilles pour ma facturation.
    L'une contenant la facture proprement dit et comptabilisant l'ensemble de mes prestations et une seconde voire une troisième contenant le détail.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. [OL-2010] Gestion des erreurs dans un script VBA
    Par sebastian37 dans le forum Outlook
    Réponses: 1
    Dernier message: 08/07/2011, 20h31
  2. Gestion des code EAN + impression code barres
    Par jakadam dans le forum Conception
    Réponses: 2
    Dernier message: 18/05/2011, 21h32
  3. [AC-2003] Gestion des groupes de raccourcis via VBA
    Par Largo38 dans le forum VBA Access
    Réponses: 5
    Dernier message: 05/07/2010, 15h09
  4. Réponses: 1
    Dernier message: 01/02/2009, 11h49
  5. Comment lier des zones de liste via VBA ?
    Par Jordel dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/08/2007, 16h38

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