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 :

Choisir quelle pages à imprimer avec Vba Excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut Choisir quelle pages à imprimer avec Vba Excel
    Bonjour à tous,

    Dans mon appli l'utilisateur clique sur un bouton et la feuille active est imprimée. Il a parfois 4 pages qui sortent alors qu'une seule contient des données. (au début car lorsque le tableau complet est rempli les 4 feuilles sont utiles

    Est-ce qu'il existe un moyen en Vba pour que l'utilisateur puisse choisir quelle pages il veut imprimer ?

    (page .. à page ..)

    J'ai chercher (peut-être mal) mais je n'ai rien trouvé à ce sujet.

    Merci par avance

  2. #2
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 239
    Points : 307
    Points
    307
    Par défaut Choisir les pages à imprimer
    On peut forcer le nombre de page à imprimer ( voir le code ci dessous , on force l'impression de la page 1 à la page 3).

    Je n'ai pas trouvé moyen de proposer une prévisualisation préalable du fichier par l'utilisateur pour le renseigner sur le nombre de page ( à part passer en mode préview et faire un scroll).

    Je pense que le plus simple consiste à calculer le nombre de ligne et d'en déduire le nombre de page par calcul.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub Imprimer_qq_pages()
     
    plage_debut = 1
    plage_fin = 3
     
        ActiveWindow.SelectedSheets.PrintOut From:=plage_debut, To:=plage_fin, Copies:=1, _
            PrintToFile:=False, Collate:=True
    End Sub

  3. #3
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Ma zone d'impression est de A1:S198.

    Ma première feuille comprend les lignes 1 à 68
    La 2ème 69 à 124
    la 3ème 125 à 180
    la 4ème de 180 à 198

    Donc si il n'y a rien dans les lignes 1 à 68 on imprime rien
    si il y a quelques choses on imprime et ainsi de suite jusqu'à la dernière page.

    Mais est-ce réalisable ? Telle est la question

    ps : les lignes 1 à 12 sont répétées à chaque fois

  4. #4
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 239
    Points : 307
    Points
    307
    Par défaut Zone d'impression variable
    J'utilise souvent la syntaxe range ( "CL").currentregion.rows.count pour déterminer le nombre de lignes.

    Dans ton cas , il faut voir si le fichier peut comporter des lignes vides ?

    Si on admet qu'il n' y a pas de ligne vide , tu peux faire
    nb_ligne = range ( "A1").currentregion.rows.count

    plage_debut = 1

    si nb_ligne < 69 then plage_fin = 1

    si nb_ligne > 68 et < 125 -> plage_fin = 2

    ect , ect

    les 2 variables plage_debut et plage_fin seront utilisés dans le code ci dessus.



    Si il peux y avoir des lignes vides , il faut faire plusieurs tests sur les différentes pages pour voir leur occupation.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Bonjour à tous,

    Merci pour votre aide, encore un problème de résolu.
    Je vous présente mes excuses d'avoir tardé à repondre, j'ai un petit ennui de santé.
    Merci encore

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

Discussions similaires

  1. envoi mail outlook avec vba excel
    Par momolamoto dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/09/2010, 10h45
  2. numéros de pages avec vba excel
    Par staouni dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/06/2008, 14h15
  3. manipulation des fichiers et dossiers avec VBA excel
    Par GBAGO dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/07/2007, 23h30
  4. lien internet avec VBA EXCEL
    Par casefayere dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/07/2007, 10h40
  5. Images avec VBA Excel
    Par dorschner dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/09/2006, 23h28

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