Macro zone d'impression, colonnes et dernière ligne

Bonjour à tous,

Suite à mon problème d'hier brillament résolu par deux d'entre-vous, je reviens ici pour, je l'espère, une dernière question concernant l'impression de mon tableau.

J'ai déjà fait des recherches et des essais sur ce forum et sur d'autres, mais les résultats ne sont pas concluants pour le moment...

En gros, je pense avoir les bonnes idées, mais j'aurai besoin d'un coup de main pour les mettre en forme en 'langage' vba.

Voilà mon problème : J'ai un énorme tableau, avec moultes lignes et colonnes. Je souhaite imprimer une partie de ce tableau : des colonnes précises, et un nombre de lignes qui peut fluctuer (exemple : si on utilise les filtres, on imprime moins).

J'ai fait un premier essai avec le code suivant :

Private Sub Bouton_impression_essai_Click()

    Range("A:D,R:BE").Select

    Selection.EntireColumn.Hidden = True
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

    Selection.EntireColumn.Hidden = False

End Sub

En lançant cette macro, tout s'est lancé tout seul, mais une commande de 900 et quelques pages d'impression a été envoyée directement à l'imprimante, et ce n'est pas exactement ce que j'attendais...

Mes questions :

(1) Comment faire pour que l'impression s'arrête juste au bas du tableau ? Du style "dernière ligne avec des choses dedans" ?

(2) Comment faire pour que l'impression ne soit pas envoyée directement à l'imprimante, mais que s'affiche la boite de dialogue "Imprimer" ou tout autre chose qui me permet de contrôler tout ça... ?

(3) Comment faire pour imprimer en format paysage ?

Je met en lien une sorte d'exemple très allégé de mon fichier (qui fait déjà près de 4Mo), l'idée dans ce fichier serait de n'imprimer que les trois premières colonnes, uniquement là où il y a de l'info. Pour l'adpatation à mon fichier de travail, je me débrouillerai ^^

Merci d'avance,

Bonne journée à vous

Mon sujet est bientôt arrivé en bas de page...

Je me permet de le remonter et tête de liste, pour qu'il soit un peu plus visible

Salut,

Regarde le tout premier fichier que j'ai placé aujourd'hui sur le fil https://forum.excel-pratique.com/excel/vba-probleme-suite-a-nouvelle-numerotation-de-cases-a-cocher-t36362.html

Il y a tiout d'abord une zone d'impression en place qui permet d'imprimer que les 7 premières colonnes. Ensuite, selon les lignes masquées ou non, ça imprime plus ou moins de pages.

Pour l'aperçu avant impression, c'est la commande (tel que placée dans la macro Imprimer_par_prénom)

ActiveSheet.PrintPreview

Et pourquoi ne pas mettre immédiatement la feuille au format paysage ? Sinon, en utilisant l'enregistreur de macro, tu dois pouvoir trouver la ligne de code nécessaire, non ?

Est-ce que ça te permets déjà d'avancer ?

Cordialement.

Bonjour

Bonjour (re) Yvouille

Essayes

Private Sub Bouton_impression_essai_Click()

  With ActiveSheet
    .Columns("D:F").Hidden = True
    .PageSetup.PrintArea = .Range("A1:F" & .Range("A" & Rows.Count).End(xlUp).Row).Address
    .PageSetup.Orientation = xlLandscape
    .PrintPreview
    .Columns.Hidden = False
  End With
End Sub

Bonsoir !

Merci de ta réponse ! En la lisant j'ai trouvé ça clair, mais en allant dans le fichier recommandé j'ai un peu déchanté...

La zone d'impression se trouve-t-elle dans la macro Imprimer_par_prenom ? J'ai bien regardé, et même dans les autres macros, je n'ai rien vu qui pourrais donner une zone d'impression... Ou alors j'ai trop vu de code ces derniers jours et mon petit cerveau de novice sature...

Je suis désolée mais je dois rendre mon poste informatique et je n'ai pas de connexion internet à mon domicile... Je vais continuer de faire des essais ce soir et je reviens demain matin !

Merci encore, et bonne fin de journée !


J'ai bien vu vos deux réponses ! J'enregistre tout ca sur ma clé usb et je teste tout ca chez moi ce soir !

Merci encore !

Re-bonjour,

Mon intervention voulait se limiter à te donner quelques pistes alors que la solution de Banzai est bien plus complète et ciblée selon te demande.

Yvouille a écrit :

Il y a tout d'abord une zone d'impression en place qui permet d'imprimer que les 7 premières colonnes.

Cette zone d'impression est mise en place chez moi "hors macro", directement sur la feuille Excel, alors qu'elle est mise en place par Banzai directement dans le code (passage : PageSetup.PrintArea).

Cordialement.

re-bonjour,

il me semblait bien que c'était une zone d'impression hors macro que vous aviez mis en place.

Mon problème est que mon tableau de travail est tres grand, et que je souhaite créer des macro pour imprimer directement des fractions uniquement (masquer des lignes et des colonnes).

Le code de Banzai fonctionne pour la première partie de mon tableau, mais la du coup il me manque quelques petites précisions... mais je continue à chercher !

Rechercher des sujets similaires à "macro zone impression colonnes derniere ligne"