Impression 3 codes différents et pas de solution

jsl72

XLDnaute Junior
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.
 

Pièces jointes

  • Imprimer-Aperçu.PNG
    Imprimer-Aperçu.PNG
    51.8 KB · Affichages: 34
  • aperçu.PNG
    aperçu.PNG
    34.2 KB · Affichages: 33
  • aperçu.PNG
    aperçu.PNG
    34.2 KB · Affichages: 39
  • aperçu.PNG
    aperçu.PNG
    34.2 KB · Affichages: 40
  • DEMO_01.xls
    29.5 KB · Affichages: 27
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 737
Messages
2 082 036
Membres
101 878
dernier inscrit
1475214