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 :

Rédiger une macro pour sélectionner une zone d'impresion


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 100
    Points : 58
    Points
    58
    Par défaut Rédiger une macro pour sélectionner une zone d'impresion
    Bonjour et merci de votre aide !

    je suis sous excel 2007.

    Sur une feuille de calcul j'ai un "bouton" qui avec "1 click" doit engendrer l'impression d'une "partie" d'une autre feuille située dans le même classeur.
    Je sais créer le "bouton", je sais comment lui affecter la macro.
    Ce que je n'arrive pas à écrire...C'est la macro !
    Données de départ :
    La zone d'impression à pour point de départ A62: BZ62, le nombre de lignes, après 62, est "variable".
    Je veux écrire une macro qui détermine la zone d'impression de A62 à BZ xxx, en faisant un contrôle sur les cellules BZ qui contiennent du "texte" et quand cette zone est établie, lance l'impression de celle-ci.
    Qui peut m'écrire cette macro ?

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Points : 730
    Points
    730
    Par défaut
    L'instruction pour définir une zone d'impression est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.PageSetup.PrintArea = "$A$1:$J$56"

    Il te reste à adapter le range ("$A$1:$J$56") à tes besoins
    La qualité et la précision de la réponse sont proportionnelles à celles de la question.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 100
    Points : 58
    Points
    58
    Par défaut
    Bonsoir PPz78,
    Merci de ton intéret pour ma question.
    Mais ta réponse ne m'aide pas ....
    je sais que l'instruction pour définir une zone d'impresion est :
    ActiveSheet.PageSetup.PrintArea = "$A$1:$J$56"
    Si tu reprends les données de mon probleme, avant de pouvoir écrire cette instruction, ma macro doit faire une recherche pour déterminer la zone d'impression.
    Dans ton exemple la zone d'impression sera toujours A1:J56.

    Or ma feuille de calcul peut contenir un nombre variable de lignes.

    Ma macro doit donc chercher, à partir de ligne 62, la derniere cellule BZ contenant du texte (exemple BZ156), quand elle l'a trouvée elle doit determiner comme zone d'imprssion : $A62:$BZ$156
    Ensuite elle doit lancer l'impression de la zone ($A62:$BZ$156), puis annuler cette zone.
    J'ai essayé avec la procédure For...Next, mais je n'arrive pas à maitriser l'écriture des variables
    Si tu sais comment faire, merci de m'ecrire le texte de la macro ...
    A+
    Lenul

  4. #4
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Bonjour,

    pour déterminer la denière cellulle utilisée de la colonne BZ puis marquer la zone d'impression en fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        lrow = Activesheet.Range("BZ65535").End(xlUp).Row
        ActiveSheet.PageSetup.PrintArea = "$A$62:$BZ$" & lrow
    NB : pas testé !!
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 100
    Points : 58
    Points
    58
    Par défaut
    Bonjour Godzestla,
    Merci de ton aide, vu le peut de réponses je craignais une erreur de présentation de mon sujet.
    Bon, depuis hier soir je me suis creusé un peu la tête, enfin ce qu'il en reste !
    Jai trouvé ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.PageSetup.PrintArea = ActiveSheet.Range("a62").CurrentRegion.Address
    (je ne sais pas comment faire apparaitre, ici, mon code de la même façon que Toi... )

    Et merveille ! ça "marche" !

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Points : 730
    Points
    730
    Par défaut
    IL suffit de sélectionner le code puis de cliquer sur le caractère # qui se trouve juste au dessus de la zone de saisie du texte.
    La qualité et la précision de la réponse sont proportionnelles à celles de la question.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/07/2014, 04h32
  2. [XL-2007] Créer une macro pour sélectionner une plage
    Par scoubi10 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/09/2010, 16h41
  3. macro pour sélectionner une valeur dans un TDC
    Par sebogoss dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 19/11/2009, 14h50
  4. [Macro] Une macro pour générer une autre macro
    Par green_fr dans le forum Macro
    Réponses: 2
    Dernier message: 13/01/2009, 11h59
  5. faire une condition pour arrêter une macro
    Par db48752b dans le forum Access
    Réponses: 11
    Dernier message: 21/09/2006, 20h21

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