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 :

selection zone impression variable


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 25
    Par défaut selection zone impression variable
    Bonjour à tous

    Comment faire pour selectionner à partir de la colonne B jusqu'à la derniére ligne remplie et l'imprimer en vba excel ??
    merci d'avance à tous
    Lindette

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir Lindette,

    Pour trouver la dernière ligne utile de la colonne B pas de problème :

    Dans votre procédure :

    dl = Range("B65536").End(xlUp).Row

    Mais à partir de la valeur affectée à la variable "dl" vous ne voulez imprimer que le contenu de la colonne B ou d'une plage commençant à la colonne "X" ligne 1 jusqu'à la colonne "y" ligne = dl ?

  3. #3
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    bonsoir

    juste une ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        ActiveSheet.PageSetup.PrintArea = Range([B1], [B1].End(xlDown)).Address
    ta zone d'impression est définie de B1 a Bx.
    Il ne doit pas y avoir de vide dans la colonne B pour que cela fonctionne
    @+

  4. #4
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 25
    Par défaut selectionner zone impression variable
    Bonsoir

    Merci à tous pour vos réponses mais je me suis mal exprimée.
    je voudrais pouvoir selectionner de la colone B jusqu'à la derniere ligne remplie et ensuite imprimer et tout cela automatiquement quand je click sur le bouton de mon userform "imprimer".
    Merci d'avance pour votre aide
    Lindette

  5. #5
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    bonsoir,

    ajoute juste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        ActiveSheet.PageSetup.PrintArea = Range([B1], [B1].End(xlDown)).Address
        ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
    cordialement
    fred65200

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Salut fred,
    Qu'est-ce que tu serais vachement gentil si tu expliquais les paramètres
    (1,,,1,,,,,,,,2,,,TRUE,,FALSE) Je suppose que ce sont des paramètres de setup... Si oui, pourquoi ne pas utiliser Printout et Setup ?
    Si non, tu vois à quelles extrémités on en est réduit "Supposer !"

  7. #7
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    bonsoir ouskel'n'or,

    comme tu as déjà dû le remarquer, la mise en page et l'impression via VBA est terriblement longue.

    L'utilisation des macros excel4 apporte un plus en terme de rapidité

    ----------------------------------------------------------------

    Pour la mise en page les arguments sont les suivants :

    'Arg1 En-tête
    'Arg2 Pied de page
    'Arg3 Marge Gauche en pouce (diviser par 2.54, avec le point (.) en séparateur décimal
    'Arg4 Marge Droite en pouce (diviser par 2.54, avec le point (.) en séparateur décimal
    'Arg5 Marge Haut en pouce (diviser par 2.54, avec le point (.) en séparateur décimal
    'Arg6 Marge Bas en pouce (diviser par 2.54, avec le point (.) en séparateur décimal
    'Arg7 Titre FALSE= sans, TRUE =
    'Arg8 Grille FALSE ou TRUE
    'Arg9 Centré Horizontalement = 1, sinon 0
    'Arg10 Centré Verticalement = 1, sinon 0
    'Arg11 Orientation - 1 = Portrait, 2 = Paysage
    'Arg12 Type de papier - une constante XlPaperSize
    'Arg13 Echelle - nombre < 400
    'Arg14 Départ numérotation
    'Arg15 Ordre d'impression - 1 = haut en bas, 2 = Gauche à droite
    'Arg16 Couleur - 0 = avec couleur, 1 = Noir et Blanc
    'Arg17 Qualité
    'Arg18 En-tête en pouce (diviser par 2.54, avec le point (.) en séparateur décimal
    'Arg19 Pied de page en pouce (diviser par 2.54, avec le point (.) en séparateur décimal
    'Arg20 Commentaire - 0 = sans, 1 = avec
    'Arg21 Brouillon - 0 ou 1

    Application.ExecuteExcel4Macro "PAGE.SETUP("Arg1,Arg2,,,,,,,,,,,,,,,,,,Arg20,Arg21)"

    ----------------------------------------------------------------

    Pour l'impression les arguments sont les suivants :


    'Arg1 Étendue:1 ou 2 - 1 = Tout, 2 = Pages
    'Arg2 N° première page, omis si tout
    'Arg3 N° dernière page, omis si tout
    'Arg4 Nombre de copies
    'Arg5
    'Arg6 Aperçu: TRUE ou FALSE (par défaut)
    'Arg7
    'Arg8
    'Arg9
    'Arg10
    'Arg11
    'Arg12 Sélection: 1 ou 2 ou 3 ou 4 - 1 = Sélection, 2 = Feuille selectionée, 3 = Classeur entier, 4 = Tableau
    'Arg13 Imprimante: ""Le_Nom_De_L_Imprimante_sur_Ne01:"", si omis, imprimante par défaut
    'Arg14 Imprimer dans un fichier:TRUE ou FALSE (par défaut)
    'Arg15
    'Arg16
    'Arg17 Ignorer les zones d'impression: FALSE ou TRUE


    ExecuteExcel4Macro "PRINT(Arg1,Arg2,,,,,,,,,,,,,TRUE,Arg16,Arg17)"

    ----------------------------------------------------------------

    Il me manque quelques arguments pour PRINT et je n'arrive pas à remettre la main sur un vieux bouquin sur les Macros4, désolé.

    NB on peut remplacer TRUE par 1, et FALSE par 0 et réciproquement.
    Mais là, je ne t'apprends rien.

    Cordialement
    fred65200

Discussions similaires

  1. Determiner le nombre de ligne d'une zone d'impression variable
    Par GoFio dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/05/2014, 16h31
  2. [XL-2007] zone d'impression variable
    Par ericberg dans le forum Excel
    Réponses: 4
    Dernier message: 06/11/2010, 20h02
  3. [XL-2007] zone d'impression variable
    Par ericberg dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/11/2010, 16h19
  4. [XL-2003] Zone d'impression variable et lignes cachées
    Par demongin dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/06/2010, 15h19
  5. [Excel] Zone d'impression variable
    Par steps5ive dans le forum Excel
    Réponses: 2
    Dernier message: 26/09/2006, 17h17

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