XL 2019 Userform pour lancer l'impression

Yann71

XLDnaute Occasionnel
Bonsoir la com. Me voici confronté à un problème. J'ai un Userform sur lequel j'ai 2 boutons. L'un pour imprimer la feuille en cour et un autre qui affiche la liste des feuilles du classeur me permettant ainsi de sélectionner la ou les feuilles à imprimer. Ces 2 boutons font référence à un PrintPreview. Mon problème est que lorsque je clic sur le bouton imprimer la feuille, il m'affiche bien l'aperçu de la feuille mais fige mon classeur et je ne peux plus rien faire, idem pour le bouton Afficher la liste. J'ai bien tenté de trouvé des solutions, mais rien à faire. Je joins un fichier. Merci pour votre futur aide.
 

Pièces jointes

  • IMPRIMER_MULTIPLE_CHOIX.xlsm
    34.8 KB · Affichages: 4

Dranreb

XLDnaute Barbatruc
Non, je n'ai pas retrouvé ça.
Mais j'ai mis ça dans un nouvel UserForm muni d'un CommandButton1 et ça marche :
VB:
Option Explicit
Private Sub CommandButton1_Click()
   Me.Hide
   ActiveSheet.PrintPreview
   Me.Show
   End Sub
En tout cas ça marche en fermant l'aperçu. En demandant l'impression effective, je ne sais pas …
 

Yann71

XLDnaute Occasionnel
Bonjour @Yann71

Tu remplaces :

VB:
Private Sub CommandButton2_Click()
ActiveSheet.PrintPreview
End Sub

Par

VB:
Private Sub CommandButton2_Click()
ActiveSheet.PrintOut
End Sub

Et l'impression se lancera directement (il n'y aura plus d’aperçu )

Merci de ton retour

@Phil69970
Bonjour Phil, merci pour ton intervention. Je souhaite pouvoir avoir accès à l'aperçu avant impression, ce que ton code ne me permet plus. Le code de Dranreb est parfait pour le bouton "Imprimer la feuille", mais il manque celui qui s'adresse au bouton " Afficher la liste ".
 

Yann71

XLDnaute Occasionnel
Non, je n'ai pas retrouvé ça.
Mais j'ai mis ça dans un nouvel UserForm muni d'un CommandButton1 et ça marche :
VB:
Option Explicit
Private Sub CommandButton1_Click()
   Me.Hide
   ActiveSheet.PrintPreview
   Me.Show
   End Sub
En tout cas ça marche en fermant l'aperçu. En demandant l'impression effective, je ne sais pas …
Bojour Dranreb, merci pour ton intervention. Le code fonctionne parfaitement avec le bouton " Imprimer la feuille " , mais il manque celui qui s'adresse au bouton " Afficher la liste ", à chaque fois lorsque je demande un aperçu tout se fige. Je joins le fichier.
 

Pièces jointes

  • IMPRIMER_MULTIPLE_CHOIX.xlsm
    37.4 KB · Affichages: 6

Dranreb

XLDnaute Barbatruc
Il faut faire pareil. C'est à dire faire en sorte que rien d'autre de modal ne soit affiché en même temps que l'aperçu. Ça inclut :
VB:
Private Sub CommandButton1_Click()
Me.Hide
frm_impression.Show
Me.Show
End Sub
Peut être que ce serait plus simple de mettre la propriété ShowModal des UserForm à False.
Attention: les exécutions ne sont alors plus suspendues par leur méthode Show, et il faut donc les concevoir en conséquence.
Cela dit je ne vois pas bien ce que tout ça apporte, vu que l'aperçu dispose d'une commande pour imprimer.
 
Dernière édition:

Yann71

XLDnaute Occasionnel
Il faut faire pareil. C'est à dire faire en sorte que rien d'autre de modal ne soit affiché en même temps que l'aperçu. Ça inclut :
VB:
Private Sub CommandButton1_Click()
Me.Hide
frm_impression.Show
Me.Show
End Sub
Peut être que ce serait plus simple de mettre la propriété ShowModal des UserForm à False.
Attention: les exécutions ne sont alors plus suspendues par leur méthode Show, et il faut donc les concevoir en conséquence.
Cela dit je ne vois pas bien ce que tout ça apporte, vu que l'aperçu dispose d'une commande pour imprimer.
Bonsoir Dranreb, merci pour ton aide, c'est ce que je recherchai. Je vais profiter de tes connaissances en te posant la question est-ce qu'il est possible que lorsque l'on sélectionne une feuille à imprimer que le nom de la feuille prenne une autre couleur de fond ou que la case à cochée se colore.
 

Discussions similaires

Statistiques des forums

Discussions
312 214
Messages
2 086 313
Membres
103 175
dernier inscrit
abcc