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 Sub

Celui-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 Sub

Merci 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 Sub

Salut, 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_Click

Je joins mon fichier, le formulaire s'ouvre avec un double-clic 1ère ligne

Peux-tu remédier à cela

Merci d'avance

Pierrot

13test-julien-1.xlsm (99.47 Ko)

Re bonjour

a tester

26test-julien-1-1.xlsm (106.95 Ko)

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

Rechercher des sujets similaires à "modifier code impression"