Impression d'un objet excel dynamique

  • Initiateur de la discussion Initiateur de la discussion klm1234
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

klm1234

XLDnaute Nouveau
Bonjour tout le monde,

J'ai une macro qui construit un fichier Excel à partir d'un template et remplis plusieurs champ à partir d'une base de données. Résumons :

-On clique sur le bouton "Imprimer" dans le fichier "A" (la base de données)
-Le fichier "B" se construit de lui-même à partir du fichier "A" et s'affiche ensuite

Ma question :

-Comment lancer l'impression du fichier "B" à partir de la macro du fichier "A" ?
À terme je voudrais même ne pas afficher le fichier "B" du tout, le travail se ferait en fond, la fenêtre de sélection d'imprimante s'afficherait via le code :
Code:
    If Not Application.Dialogs(xlDialogPrinterSetup).Show Then Exit Sub

Et le fichier "B" s'imprimerait. J'ai essayer d'utiliser la commande suivante :
Code:
    oExcel.Sheets("code").PrintOut

Où "oExcel" est ...
Code:
        oExcel.Workbooks.Open sFormPath              'Open file from template
        oExcel.Worksheets(Left(code, 4) & "xxxxxxxx").Select
        oExcel.ActiveSheet.Name = code
        oExcel.Visible = False                      'Set to true for debugging
        oExcel.EnableEvents = False
        oExcel.DisplayAlerts = False                'Don't prompt for saving

Le problème c'est que l'impression ne se lance pas... Et j'ai l'impression (un peu nul comme jeu de mot ^^) que la ligne de code servant à sélectionner l'imprimante est effective pour le fichier "A" et non pour le fichier "B". Donc là je suis un peu dépassé 🙁

Merci d'avance!
 
Dernière édition:
Re : Impression d'un objet excel dynamique

Bonjour klm,

je viens de tester ce code là avec succès :

Code:
Dim app1 As Excel.Application
Set app1 = New Excel.Application
    app1.Visible = False
    app1.EnableEvents = False
    app1.DisplayAlerts = False
    app1.Workbooks.Add
    app1.ActiveWorkbook.ActiveSheet.Range("A1").Value = "test"
    aa = app1.Dialogs(xlDialogPrinterSetup).Show
    app1.ActiveWorkbook.ActiveSheet.PrintOut

mais il me montre la feuille en imprimant...
 
Re : Impression d'un objet excel dynamique

Bonjour tototiti2008,

Effectivement en remplacent "Application." par mon objet "oExcel." sa marche!
Merci encore une fois 😉

PS : Bizarre qu'il ne te cache pas la feuille car moi si je met ".Visible=False" tout se fait sans qu'on s'en aperçoive!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
174
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
651
Réponses
10
Affichages
7 K
Retour