Bonjour à tous.
Voilà je souhaite imprimer la zone d'impression d'un document actif. Seulement avec 3 codes différents je n'arrive pas à trouver ce que je cherche.
Le code Application.Dialogs(xlDialogPrint).Show serait l'idéal s'il ne se plantait pas en aperçu (Voir 1° code).
NB: Pour une meilleure compréhension, voir pièces jointes
1° code
ActiveSheet.PageSetup.PrintArea = [A1].CurrentRegion.Address 'définition de la zone d'impression.
Application.Dialogs(xlDialogPrint).Show 'active la fenêtre "imprimer" avec choix imprimante.
Problème: si on active "aperçu" , aucune possibilité de mise en page. Quand on sort de l'aperçu la fenêtre "imprimer" a disparu. Donc pas d'impression possible.
_______________________________________________________________________________________________
2° code
ActiveSheet.PageSetup.PrintArea = [A1].CurrentRegion.Address 'définition de la zone d'impression.
ExecuteExcel4Macro "PRINT(1,,,1,,FALSE,,,,,,1,,,TRUE,,FALSE)" 'imprime sur l'imprimante par défaut.
Problème: imprime une page sans contenu et juste le pied de page.
Donc pas d'impression du document actif.
_______________________________________________________________________________________________
3° code
ActiveSheet.PageSetup.PrintArea = [A1].CurrentRegion.Address 'définition de la zone d'impression
ActiveWindow.SelectedSheets.PrintPreview 'affiche la fenêtre aperçu avant impression
Une façon de faire qui va bien: il faut utiliser le bouton "imprimer" de la fenêtre "aperçu avant impression" et là: impression correcte.
Problème: si on est pas averti et que l'on ferme l'aperçu avant impression, pas d'impression possible, ou alors il faut associer 2 instructions, voir le code suivant:
_______________________________________________________________________________________________
Code suivant:
ActiveSheet.PageSetup.PrintArea = [A1].CurrentRegion.Address 'définition de la zone d'impression
ActiveWindow.SelectedSheets.PrintPreview 'affiche la fenêtre aperçu avant impression
ExecuteExcel4Macro "PRINT(1,,,1,,FALSE,,,,,,1,,,TRUE,,FALSE)" 'imprime sur l'imprimante par défaut.
Une façon de faire qui va bien: quand on a vivualisé le document, fermé l'aperçu sans imprimer, à l'instruction suivante le document s'imprime correctement.
Problème: si on active l'impression depuis l'aperçu avant impression le document s'imprime correctement et à l'instruction suivante un 2° document va s'imprimer correctement.
______________________________________________________________________________________________
Un peu compliquée mon affaire, je vous l'accorde, mais que faire ??
A priori je comprends qu'il faudrait pouvoir associer Application.Dialogs(xlDialogPrint).Show et PrintPreview dans la même instruction
Dans ce cas ce serait parfait
Merci par avance de votre aide
Cordialement
Joël.
Voilà je souhaite imprimer la zone d'impression d'un document actif. Seulement avec 3 codes différents je n'arrive pas à trouver ce que je cherche.
Le code Application.Dialogs(xlDialogPrint).Show serait l'idéal s'il ne se plantait pas en aperçu (Voir 1° code).
NB: Pour une meilleure compréhension, voir pièces jointes
1° code
ActiveSheet.PageSetup.PrintArea = [A1].CurrentRegion.Address 'définition de la zone d'impression.
Application.Dialogs(xlDialogPrint).Show 'active la fenêtre "imprimer" avec choix imprimante.
Problème: si on active "aperçu" , aucune possibilité de mise en page. Quand on sort de l'aperçu la fenêtre "imprimer" a disparu. Donc pas d'impression possible.
_______________________________________________________________________________________________
2° code
ActiveSheet.PageSetup.PrintArea = [A1].CurrentRegion.Address 'définition de la zone d'impression.
ExecuteExcel4Macro "PRINT(1,,,1,,FALSE,,,,,,1,,,TRUE,,FALSE)" 'imprime sur l'imprimante par défaut.
Problème: imprime une page sans contenu et juste le pied de page.
Donc pas d'impression du document actif.
_______________________________________________________________________________________________
3° code
ActiveSheet.PageSetup.PrintArea = [A1].CurrentRegion.Address 'définition de la zone d'impression
ActiveWindow.SelectedSheets.PrintPreview 'affiche la fenêtre aperçu avant impression
Une façon de faire qui va bien: il faut utiliser le bouton "imprimer" de la fenêtre "aperçu avant impression" et là: impression correcte.
Problème: si on est pas averti et que l'on ferme l'aperçu avant impression, pas d'impression possible, ou alors il faut associer 2 instructions, voir le code suivant:
_______________________________________________________________________________________________
Code suivant:
ActiveSheet.PageSetup.PrintArea = [A1].CurrentRegion.Address 'définition de la zone d'impression
ActiveWindow.SelectedSheets.PrintPreview 'affiche la fenêtre aperçu avant impression
ExecuteExcel4Macro "PRINT(1,,,1,,FALSE,,,,,,1,,,TRUE,,FALSE)" 'imprime sur l'imprimante par défaut.
Une façon de faire qui va bien: quand on a vivualisé le document, fermé l'aperçu sans imprimer, à l'instruction suivante le document s'imprime correctement.
Problème: si on active l'impression depuis l'aperçu avant impression le document s'imprime correctement et à l'instruction suivante un 2° document va s'imprimer correctement.
______________________________________________________________________________________________
Un peu compliquée mon affaire, je vous l'accorde, mais que faire ??
A priori je comprends qu'il faudrait pouvoir associer Application.Dialogs(xlDialogPrint).Show et PrintPreview dans la même instruction
Dans ce cas ce serait parfait
Merci par avance de votre aide
Cordialement
Joël.
Pièces jointes
Dernière édition: