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 :

Saut de page suivant hauteur lignes + insertion haut de page [XL-2013]


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
    Enseignant
    Inscrit en
    Juin 2015
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2015
    Messages : 211
    Par défaut Saut de page suivant hauteur lignes + insertion haut de page
    Bonjour à toutes et à tous,

    Voilà, à l'aide d'Userforms, j'ai crée un tableau ayant pour première ligne les légendes de chaque colonne ( Nom / Adresse / Téléphone / Race bovine / etc..... )

    Grâce à une macro qui fonctionne très bien grâce à vous, j'ai réussi à créer autant de feuilles qu'il y a de races ( je préfère ceci qu'un filtre pour diverses raisons ).

    pour une "race" donnée, au moment de l'impression, il y a au moins 2 pages voire plus.

    Voici mon problème :

    Je sais créer un saut de page mais je voudrais qu'il soit à la 17 , 18 ou 19èmè ligne ( par exemple ) suivant la hauteur des lignes ( j'ai utilisé Autofit ). Autrement dit, je voudrais que les pointillés visibles lorsqu'on fait un "aperçu avant impression" ) se transforment en saut de page.

    De plus, juste après le saut de page, recopier la ligne 1 afin d'avoir aussi les légendes sur chacune des feuilles suivantes.


    Merci d'avance pour vos réponses.


    Novice72

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Novice72 Voir le message
    Bonjour,

    Il vous faut apprendre à utiliser l'enregistreur de macros.

    Sinon à tester et à modifier en fonction de vos tableaux :

    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
     
    Option Explicit
     
    Sub PreparerLImprimante()
     
     
        Application.PrintCommunication = False
        With ActiveSheet.PageSetup
     
             .PrintTitleRows = "$1:$1"   ' Ligne à répeter à chaque changement de page.
             .PrintArea = ""
     
            '.LeftHeader = ""
            '.CenterHeader = ""
            .RightHeader = "&D"  ' Met la date d'impression en haut à droite
     
            '.LeftFooter = ""
            '.CenterFooter = ""
            .RightFooter = "&F - &A" ' Met le nom du fichier et de l'onglet en bas à droite
     
            .LeftMargin = Application.InchesToPoints(0.708661417322835)
            .RightMargin = Application.InchesToPoints(0.708661417322835)
            .TopMargin = Application.InchesToPoints(0.748031496062992)
            .BottomMargin = Application.InchesToPoints(0.748031496062992)
            .HeaderMargin = Application.InchesToPoints(0.31496062992126)
            .FooterMargin = Application.InchesToPoints(0.31496062992126)
     
            .PrintQuality = 600
     
            .CenterHorizontally = True
            .CenterVertically = False
           ' .Orientation = xlPortrait ' Choix de l'orientation
            .Orientation = xlLandscape
     
            .PaperSize = xlPaperA4       ' Format du papier
            .FirstPageNumber = xlAutomatic
            .Order = xlDownThenOver
            .BlackAndWhite = False
     
            .FitToPagesWide = 1       ' Cadre le document à 1 page en largeur
            .FitToPagesTall = False   ' et l'ajuste automatiquement en hauteur.
     
     
            .PrintErrors = xlPrintErrorsDisplayed
            .OddAndEvenPagesHeaderFooter = False
            .DifferentFirstPageHeaderFooter = False
            .ScaleWithDocHeaderFooter = True
            .AlignMarginsHeaderFooter = True
     
        End With
        Application.PrintCommunication = True
     
    End Sub

  3. #3
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2015
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2015
    Messages : 211
    Par défaut
    Bonjour Eric,

    Je te remercie pour ton aide. Ton programme fonctionne presque parfaitement ( j'ai mis la ligne 51 en commentaire pour le moment car elle bloque le programme - même si l'imprimante est allumée ).

    Pour répondre à ta remarque, il m'arrive souvent d'utiliser l'enregistreur de Macros. Parfois, cela est impossible ( en tout cas pour moi ). En effet, je recherchais à remplacer les pointillés par des sauts de pages puis et surtout, je ne vois pas comment j'aurais pu après avoir fait un "aperçu avant impression" ajouter la ligne 1 sur chaque page.


    Encore un super merci à toi Eric.



    Novice72

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Novice72 Voir le message
    Il faut peut-être neutraliser la ligne 28.

    Sinon, j'ai purgé le code de pas mal de lignes inutiles mais peut-être trop. Il faut simuler un paramétrage d'impression comme je l'ai fait et modifier les lignes importantes du code 10, 40, 41.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/09/2012, 15h22
  2. [HTML] Saut de ligne en debut de page SOUS IE UTF8
    Par escteban dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 09/06/2008, 10h48
  3. Gridview récupérer la page et la ligne du last insert
    Par LhIaScZkTer dans le forum ASP.NET
    Réponses: 1
    Dernier message: 19/02/2008, 10h01
  4. Insertion d'images : comment éviter qu'elles passent à la page suivante ?
    Par romainromain dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 5
    Dernier message: 03/01/2007, 19h56
  5. [MySQL] Incrémenter les pages suivante d'un livre si une page change
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 06/01/2006, 20h01

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