Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Imprimer une feuille via userform

Kevin38

XLDnaute Nouveau
Bonjour à tous,

Je sollicite votre aide pour ma commande ci-dessous; j'ai mon "userform" et souhaite imprimer une feuille de mon classeur. Mais mon soucis est que quand je click sur le bouton imprimer, ma feuille à imprimer s'affiche bien en arrière plan (Aperçu avant impression) et le "userform" reste active en premier plan dont je ne vois pas ma feuille et je ne parviens pas à fermer le "userform" active.

La macro pour imprimer

VB:
Sub BOUTON_FrmClient_Impression()
Sheets("CLIENT").PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False, Preview:=True
End Sub


et le bouton Imprimer qui se trouve dans le "userform"

VB:
Private Sub CommandButton1_Click()
Call BOUTON_FrmClient_Impression
Sheets("CLIENT").Activate
Unload userform
End Sub

Par la même occasion je souhaite vous demander est-il possible d'ajouter un "Info-bulle..." à un "CommandButton1_Click" qui se trouve dans un "userform"


merci
@+
 
Dernière édition:
Solution
Chez moi ceci marche :
VB:
Private Sub CommandButton1_Click()
   Me.Hide
   Sheets("CLIENT").Activate
   Application.DisplayFullScreen = False
   Call BOUTON_FrmClient_Impression
   Sheets("ACCUEIL").Activate
   Application.DisplayFullScreen = True
   Me.Show
   End Sub
Remarque: j'ai mis la propriété ShowModal du UserForm1 à False.

Kevin38

XLDnaute Nouveau
Bonsoir Dranerb,

Concernant : "ControlTipText" Ok
Concernant : le code ci-dessous est-ce bien correcte?

VB:
Sub BOUTON_FrmClient_Impression()
FrmClient.Hide
Sheets("CLIENT").PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False, Preview:=True
FrmClient.Show
End Sub

Merci
@+
 

Kevin38

XLDnaute Nouveau
Bonjour Dranreb,

C'est OK, je vous remercie pour le temps que vous avez consacré.

Une petite question est-il possible de créer un Button de Command (Contrôle ActiveX) personnel
càd peut-être rond, rectangle avec coins arrondi ou autre

Merci d'avance
@+
 

Kevin38

XLDnaute Nouveau
Mettez Me pour désigner l'objet possédant le code: ça évite les erreurs.
Bonjour Dranreb,

J'aurai une question : à l'ouverture de mon classeur dans Thisworkbook je masque le ruban avec

VB:
Application.DisplayFullScreen = True

mais en utilisant le "userform" pour imprimer la liste client (PrintPreview) le ruban est masqué impossible de le fermer j'ai ajouté le code ;

Code:
Private Sub CommandButton1_Click()
Me.Hide
Call BOUTON_FrmClient_Impression
'Sheets("CLIENT").Activate
Application.DisplayFullScreen = False
Me.Show
Sheets("ACCEUIL").Activate
Application.DisplayFullScreen = True
End Sub

mais donne différentes erreurs càd impossible de le fermer, quand je click sur "Fermer" ça bloque et le format de mon classeur change.

Comment pourrais-je solutionner.

Merci
@+
 

Kevin38

XLDnaute Nouveau
Bonjour.
Mettez la propriété ShowModal du UserForm à False pour pouvoir exécuter des commandes pendant qu'il est affiché.
Bonjour,

ShowModal: False Ok pour le userform "FrmClient" mais l'incident reste identique. SI possible avec le bouton IMPRIMER (je souhaite ouvrir avant l'impression et à partir de là on sait aussi imprimer) je peux nommé le bouton "PrintPreview" mais même si le renomme, à l'ouverture du "PrintPreview" le ruban reste toujours masquer à la fermeture de celle-ci je souhaite aller à ma page Acceuil avec le ruban masqué
VB:
Sheets("ACCEUIL").Activate
Application.DisplayFullScreen = True
car quand je click sur "Fermer" ça bloque et le thème de mon classeur change.

Sheets("ACCEUIL").Activate

Je n'arrive pas à comprendre d'où peu provenir ce changement de theme.

PS: Dois-je désactivé l' Application.DisplayFullScreen

Merci
@+
 

Dranreb

XLDnaute Barbatruc
C'est quoi le problème ? Les commandes d'impressions effectives ne sont pas accessibles ?
Le Application.DisplayFullScreen = False ne serait-il pas fait trop tard, après que la commande PrintOut ait été lancée ? Personnellement je préfère PrintPreview, qui permet aussi de lancer l'impression effective (si les commandes sont accessibles).
 

Kevin38

XLDnaute Nouveau
Re,

Oui étant donné que le ruban reste masqué les commandes d'impressions ne sont pas accessibles.
Pour le "Application.DisplayFullScreen" j'en ai 2 pour l'ouverture et quand je quite l'aperçu avant impression qu'est-ce je peu faire je garde les 2 et
Application.DisplayFullScreen= False
place auprès le Me.Hide et avant la macro


VB:
Sub BOUTON_FrmClient_Impression()
FrmClient.Hide
Sheets("CLIENT").PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False, PrintPreview:=True
FrmClient.Show
End Sub

Merci
@+
 
Dernière édition:

Kevin38

XLDnaute Nouveau
Pourquoi n'y a-t-il pas Application.DisplayFullScreen = False au début de cette procédure ?
Bonsoir,

J'ai testé un peu de tout mais noway je n'ai toujours pas obtenu ce que je cherche.

La feuille "CLIENT" est là, masquer automatiquement le ruban enregistrer et fermer ainsi quand vous re-ouvrez le fichier et que vous voulez "IMPRIMER" càd un "PrintPreview=aperçu avant impression" les commandes d'impressions effectives ne sont plus accessibles dans l'aperçu avant impression et quand vous activez 'afficher les onglets et commandes' et que vous "FERMER" le theme du classeur change.

Pourriez vous le tester avec ruban masquer à l'ouverture, ruban afficher à l'aperçu avant impression et une fois "FERMER" et quand on revient sur la page Accueil Ruban de nouveau masquer.

Merci
@+
 

Pièces jointes

  • Test_PrintPreview.xlsm
    30.2 KB · Affichages: 5

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…