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 :

Mise en page [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut Mise en page
    bonjour a vous

    je ne sais pas comment faire une mise en page car mes données arrivent en paquet sur la feuille, aussi bien 3 lignes que 80 ou plus ou moins issu d'une listview, jusque présent j'utilisait le code suivant qui faisait une mise en page automatique après détection d'une cellule nommée "MTTC".
    mais la comme le "MTTC" n'est pas fixe il y a un problème
    donc dans ThisWorkbook il y a
    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
    Private Sub Workbook_BeforePrint(Cancel As Boolean) 'Utilis & Chr(10) &
    Dim VPB As VPageBreak, HPB As HPageBreak
    Dim No As String, Dt As String
     
    Application.ScreenUpdating = False
     
    'No = Year(Now) & " - " & Sheets("facturation").Range("A1")
    Dt = Format(Date, "dd mmmm yyyy")
     
    'formatter en vue d'impression
    With ActiveSheet
        'reset parametres d'impression
        .ResetAllPageBreaks
        With .PageSetup
            'redefinition de la plage d'impression
            .PrintArea = "$A$1:$G$" & [MTTC].Row + 13
            .CenterHeader = ""
            .CenterFooter = ""
        End With
        'passage en break preview sinon erreur avec DragOff
        ActiveWindow.View = xlPageBreakPreview
        'déplacement des sauts de page
        For Each VPB In .VPageBreaks
            VPB.DragOff Direction:=xlToRight, RegionIndex:=1
        Next VPB
        'retour à vue normale
        ActiveWindow.View = xlNormalView
        'ajout de ligne avant et après chaque saut de page pour délimiter le cadre lors de l'impression
        For Each HPB In .HPageBreaks
            .Range(.Cells(HPB.Location.Row - 1, 3), .Cells(HPB.Location.Row - 1, 12)).Borders(xlEdgeBottom).LineStyle = xlContinuous
            .Range(.Cells(HPB.Location.Row, 3), .Cells(HPB.Location.Row, 12)).Borders(xlEdgeTop).LineStyle = xlContinuous
        Next HPB
        'entête au centre
        '.PageSetup.CenterHeader = "&14&""Arial,Gras""FACTURE SAV N° " & No & " en date du " & Dt
        'pied de page au centre
        '.PageSetup.CenterFooter = "&14&""SIRET : 123456789   -   NAF : 0000A   -   RCS : 00000 -   N° TVA   :  FR0123456789" & Chr(10) & _
      '"assurance décennale n°0123456 de chez untel"
    End With
     
    Application.ScreenUpdating = True
     
    End Sub
    les entêtes sont mis en commentaires car la mise en page les remplacaient
    et aussi comment adapter le code du bordurage qui en commentaire dans le code du bouton 8
    ces codes sont issu d'un fichier qui envoie ses données une par une dans la feuille en repoussant le bas de page
    je vous joint le fichier pour plus de compréhension

    Pascal

  2. #2
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonjour a vous tous

    Y a-t-il un semblant de solution a mon post au vu du nombre de visite

    Pascal

  3. #3
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonjour a tous

    le problème de bordurage a été résolu par le savoir de JFontaine
    reste la mise en page qui ne dois pas etre une mince affaire a ma piètre connaissance de vba

    Pascal

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

Discussions similaires

  1. [VB6+API][Impression] Mise en page
    Par HPJ dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 06/09/2004, 17h11
  2. [CR.NET][VS.NET] mise en page et sections
    Par guignol dans le forum SDK
    Réponses: 8
    Dernier message: 06/08/2004, 15h07
  3. mise en page (Header and Footer) en XML-XSL.
    Par christine dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 01/03/2004, 16h31
  4. [CR] Mise en page
    Par akolyto dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 14/10/2003, 12h22
  5. [mise en page] pour bien indenter son code
    Par bihorece dans le forum C++Builder
    Réponses: 4
    Dernier message: 06/08/2003, 16h14

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