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 :

Code impression dernière page excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 30
    Par défaut Code impression dernière page excel
    Bonjour,

    Je souhaite imprimer uniquement la dernière page d'un onglet excel.

    Mes lignes sont variables en fonction des données saisies au préalable, j'ai donc inséré une zone d'impression automatique via le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim DerLig As Long
        DerLig = Range("D" & Rows.Count).End(xlUp).Row
        ActiveSheet.PageSetup.PrintArea = "a1:n" & DerLig
    Il arrive que cette zone d'impression représente plusieurs pages, comment puis-je faire pour imprimer que la dernière page.
    J'ai essayé de redéfinir ma zone d'impression en fonction de la dernière ligne sans succès... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim DerLig As Long
     
        DerLig = Range("D" & Rows.Count).End(xlUp).Row
        ActiveSheet.PageSetup.PrintArea = ("a1:n" & DerLig) - ("a1:n" & DerLig - 30)
    Si quelqu'un a eu le problème, merci de m'éclairer.
    Xavier

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    389
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 389
    Par défaut
    Bonjour,

    Essayez de voir du coté de


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWindow.SelectedSheets.HPageBreaks.Count
    JP

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 30
    Par défaut
    Merci de votre aide,

    où faut-il placer ce bout de code ?

    VBA m'affiche un message d'erreur "utilisation incorrecte de la propriété" (.count)

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    389
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 389
    Par défaut
    Essayez le code suivant, la variable a devrait donner l'adresse de la première cellule en haut de la dernière page à imprimer.
    On peut ensuite définir une zone d'impression en utilisant cette adresse et celle de Derlig

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub sc()
        With ActiveSheet
            a = .HPageBreaks(.HPageBreaks.Count).Location.Address
        End With
    End Sub
    JP

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 30
    Par défaut
    Meric, malheureusement, ca ne fonctionne pas mieux,

    j'ai donc essayé avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim DerLig As Long
    Dim a As Long
    a = .HPageBreaks(.HPageBreaks.Count).Location.Address
    DerLig = Range("D" & Rows.Count).End(xlUp).Row
    ActiveSheet.PageSetup.PrintArea = a & DerLig
    Sans résultats...

    j'ai un message d'erreur : "référence de (.hPageBreaks) incorrecte ou non qualifiée"

    Xavier.

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    389
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 389
    Par défaut
    Vous n'avez pas tout retranscrit

    Il manque

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With ActiveSheet
     
    End With

Discussions similaires

  1. Impression plusiers pages excel
    Par slipk555 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/07/2011, 14h09
  2. [WD12] Empêcher l'impression de la dernière page vide d'un état
    Par zouzoukha dans le forum WinDev
    Réponses: 3
    Dernier message: 13/04/2011, 16h29
  3. [WD-2003] Code impression recto-verso page en cours + verso - fonctionne pas bien
    Par Souriane dans le forum VBA Word
    Réponses: 2
    Dernier message: 10/03/2010, 16h43
  4. 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
  5. [VB]infos complémentaires pour l'impression d'une page excel avec vb
    Par Jacen dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 25/04/2006, 15h57

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