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