Modifier un code impression ?
Bonjour à tous,
J'ai un code VBA qui me permet d'imprimer un formulaire UserForm, mais je souhaiterais voir un aperçu avant l'impression
Ce code imprime directement le formulaire actif
' Impression du formulaire en cachant les boutons de macros
Private Sub CmB_Imprimer_Click()
Me.CmB_Imprimer.Visible = False
Me.Cmb_Modification.Visible = False
Me.CmB_Fin.Visible = False
Me.CmBEffacer.Visible = False
Me.CmBSuppression.Visible = False
UserForm_Photos.PrintForm
Me.CmB_Imprimer.Visible = True
Me.Cmb_Modification.Visible = True
Me.CmB_Fin.Visible = True
Me.CmBEffacer.Visible = True
Me.CmBSuppression.Visible = True
End SubCelui-ci, me donne un aperçu avant impression de la feuille active , mais ne fonctionne pas avec le formulaire
Sub Print() 'feuille active
Application.Dialogs(xlDialogPrintPreview).Show
End SubMerci de vous pencher encore une fois sur mon problème
Bon dimanche à vous tous
Amitiés
Pierrot
Rebonjour Cappe Pierre
a tester si cela convient
Private Declare Sub keybd_event Lib "user32" ( _
ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
Private Sub CmB_Imprimer_Click()
Dim Ws As Worksheet
Me.CmB_Imprimer.Visible = False
Me.Cmb_Modification.Visible = False
Me.CmB_Fin.Visible = False
Me.CmBEffacer.Visible = False
Me.CmBSuppression.Visible = False
'Copie d'écran de la forme active
keybd_event vbKeySnapshot, 1, 0&, 0&
'désactive le rafraichissement de l'écran
Application.ScreenUpdating = False
DoEvents
'Ajoute une feuille pour coller l'image de la forme
Set Ws = Sheets.Add
'renomme la feuille
ActiveSheet.Name = "imprim"
Sheets("imprim").Paste
Sheets("imprim").PageSetup.Orientation = xlLandscape
Me.Hide
'impression centrée dans la page
With Sheets("imprim")
.PageSetup.CenterHorizontally = True
.PageSetup.CenterVertically = True
'.PrintOut
.PrintPreview
'réactive le rafraichissement de l'écran
Application.ScreenUpdating = True
'enléve les messages d'alerte
Application.DisplayAlerts = False
.Delete
'remet les messages d'alerte
Application.DisplayAlerts = True
End With
Me.show
Me.CmB_Imprimer.Visible = True
Me.Cmb_Modification.Visible = True
Me.CmB_Fin.Visible = True
Me.CmBEffacer.Visible = True
Me.CmBSuppression.Visible = True
End SubSalut, Bob,
Voilà l'image que j'aperçois en cliquant sur le bouton Imprimer, l'aperçu me donne cette commande au milieu de la page en format
Paysage , ça c'est parfait.mais pas de formulaire
Private Sub CmbImprimer_ClickJe joins mon fichier, le formulaire s'ouvre avec un double-clic 1ère ligne
Peux-tu remédier à cela
Merci d'avance
Pierrot
Bonjour, BOB71AU
Cela à l'air de bien fonctionner, je dis , à l'air car la 1ère fois, j'ai eu un message de feuilles qui ne peut pas avoir le même nom qu'une feuille existante.
J'ai supprimer les feuilles non nécessaires , ensuite je n'ai que le nom au milieu de la feuille, je reclique sur le bouton "Imprimer"
et l'aperçu avant impression apparaît.
Je vais me débrouiller avec ça,
un tout grand merci pour ton aide, a charge de revenge
Amitiés
Pierrot