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 :

Impression dernière ligne ou bien sur 3 page [XL-2000]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 211
    Par défaut Impression dernière ligne ou bien sur 3 page
    Bonsoir le forum,

    j'ai ce code qui m'imprime un tableau jusqu'a la dernière ligne rempli, cela fonctionne bien , le problème est que lorsque toutes les lignes sont rempli( jusqu'a la ligne 105) le tableau est sur une seule feuille et donc illisible, je voulais savoir ce qu'il faut ajouter à ce code pour qu'il m'imprime sur 3 feuille quand tout le tableau est rempli ou le mieux , c'est que l'impression se fasse sur une feuille en largeur et sur 1,2 ou 3 feuille en hauteur suivant le remplissage du tableau.
    J'espère avoir été clair
    merci
    jacky

    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
    Sub ImprimTest(ByVal WsName As String)
    Dim MaPlage As Range
    Dim Derlig As Long
     
    With ThisWorkbook.Worksheets(WsName)
        Derlig = .Range("E" & .Rows.Count).End(xlUp).Row
         With .PageSetup
            .PrintArea = "B1:H" & Derlig
    '        .LeftFooter = "ici, La bas , ailleurs"
            .CenterFooter = "ici, La bas , ailleurs"
    '        .RightFooter = "ici, La bas , ailleurs"
        End With
        .PrintOut Copies:=3, Collate:=True
    End With
    End Sub

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonsoir,

    Essaye de spécifier un ajustement :
    - en largeur FitToPagesWide à une page
    - en longueur FitToPagesTall à 50 pages (par exemple).

    L'ajustement en largeur étant plus contraignant que l'ajustement en hauteur, tu devrais obtenir ce que tu cherche.

    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
    Sub ImprimTest(ByVal WsName As String)
      Dim MaPlage As Range
      Dim Derlig As Long
     
      With ThisWorkbook.Worksheets(WsName)
        Derlig = .Range("E" & .Rows.Count).End(xlUp).Row
         With .PageSetup
            .PrintArea = "B1:H" & Derlig
    '        .LeftFooter = "ici, La bas , ailleurs"
            .CenterFooter = "ici, La bas , ailleurs"
    '        .RightFooter = "ici, La bas , ailleurs"
            .FitToPagesWide = 1
            .FitToPagesTall = 50
        End With
        .PrintOut Copies:=3, Collate:=True
      End With
    End Sub

  3. #3
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Bonjour

    En principe il suffit de ne pas préciser FitToPagesTall : seul le "fit" en largeur s'opérera

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 211
    Par défaut
    Bonsoir le forum, Blue Monkey, 78 chris,

    merci cela fonctionne comme je le souhaite
    jacky

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 211
    Par défaut
    Re bonsoir le forum,

    j'ai un autre code ou j'ai voulu FitToPagesWide et FitToPagesTall
    mais j'ai une erreur que j'ai joint en image et le code ci-dessous
    merci
    jacky

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub ImprimerTest()
     
    Dim Ws As Worksheet
    Dim MaPlage As Range
        Set Ws = Worksheets("Test")
        Derlig = Ws.Range("E" & Ws.Rows.Count).End(xlUp).Row
        Set MaPlage = Ws.Range("B1:H" & Derlig)
        Ws.PageSetup.PrintArea = MaPlage.Address
     
        .FitToPagesWide = 1
        .FitToPagesTall = 50
        Ws.PrintOut Copies:=3, Collate:=True
     
    End Sub
    Images attachées Images attachées  

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonsoir,

    FitToPagesWide et FitToPagesTall sont des propriétés de PageSetup.

    Essaye avec ce code.

    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
    Sub ImprimerTest()
        Dim Derlig As Long
        Dim Ws As Worksheet
        Dim MaPlage As Range
        
        Set Ws = Worksheets("Test")
        Derlig = Ws.Range("E" & Ws.Rows.Count).End(xlUp).Row
        Set MaPlage = Ws.Range("B1:H" & Derlig)
        With Ws.PageSetup
            .PrintArea = MaPlage.Address
            .FitToPagesWide = 1
            '.FitToPagesTall = 50
        End With
        Ws.PrintOut Copies:=3, Collate:=True
    End Sub

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 211
    Par défaut
    re Blue Monkey,

    merci beaucoup, cela fonctionne tres bien
    jacky

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/08/2014, 08h29
  2. [OpenOffice][Texte] Aligner les N dernières lignes d'un tableau sur le bas de page
    Par tchize_ dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 25/08/2010, 16h09
  3. Adsense ne s'affiche pas bien sur mes pages avec IE
    Par Petsdater dans le forum Publicité
    Réponses: 0
    Dernier message: 17/08/2009, 20h04
  4. [CR 9] imprimer une ligne de détail sur nouvelle page
    Par rot@rot dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 05/05/2008, 09h26
  5. macro pour impression dernière ligne excel
    Par schwoby dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/08/2007, 14h33

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