Boutons pour imprimer

Bonjour, je viens vers vous car j'ai une petite question Je souhaiterai imprimer le formulaire En format paysage Car quand je mets la formule il me met en format portrait Pouvez-vous m'aider à compléter cette formule s'il vous plaît merci en avance

Private Sub CbnImprimer_Click()

Orientation = xlLandscape

Me.PrintForm

End Sub

Bonsoir dubdub87, le forum,

Regarde ici la réponse de BOB71AU ici :

https://forum.excel-pratique.com/viewtopic.php?p=428588#p428588

Cordialement,

Bonjour Suite à ce que vous m'avez proposé j'ai trouvé ce code Par contre la 1ère ligne qui commence par private déclare Je ne comprends pas Il me met que ce n'est pas compatible Il faut que je le mette à jour mais comme je débute je ne vois pas trop ce que je dois faire Pouvez-vous m'aider s'il vous plaît

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 CommandButton1_Click()
    keybd_event vbKeySnapshot, 1, 0&, 0&                        'Copie d'écran de la forme active
    Application.ScreenUpdating = False                          'désactive le rafraichissement de l'écran
    DoEvents                                                    'ne pas faire d'événement
    Application.ScreenUpdating = False
    Set Ws = Sheets.Add                                         'Ajoute une feuille pour coller l'image de la forme
    ActiveSheet.Name = "imprimm"                                 'renommer nouvelle feuille excel
    Sheets("imprimm").Paste                                      'coller imprim ecran sur feuille excel
    Sheets("imprimm").PageSetup.Orientation = xlLandscape        'paysage
    Me.Hide                                                     'cacher userform

   With Sheets("imprimm")
        .PageSetup.CenterHorizontally = True                    'impression centrée dans la page
        .PageSetup.CenterVertically = True                      'impression centrée dans la page
        .PageSetup.LeftMargin = Application.InchesToPoints(0) '.708661417322835)
        .PageSetup.RightMargin = Application.InchesToPoints(0) '.708661417322835)
        .PageSetup.Zoom = False                                 'ajuste l'image sur la page
        .PrintPreview                                           'apercu avant impression

        Application.DisplayAlerts = False                       'enléve les messages d'alerte
            .Delete                                             'suppression de la feuille imprim
        Application.DisplayAlerts = True                        'remet les messages d'alerte
    End With

        Application.ScreenUpdating = True                       'réactive le rafraichissement de l'écran
    Me.Show                                                     'affichage de l'userform

End Sub

Bonsoir dubdub87,

Je crains de ne pas avoir les comptétences pour t'aider,

Mais il est vrai qu'en collant le code dans mon excel, j'ai également obtenu un erreur, il semblerait qu'il y ai des espaces en trop devant les "ByVal" .....corrigé ainsi, plus d'erreur...mais....

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

En espérant que cela t'aide....

Bon courage et bonne soirée.

Bonsoir Dudub87, Xorsankukai

Lorsque c'est une version d'Excel 64 bits. Il faut rajouter Ptrsafe dans tout code Private Declare

Et aussi ce lien,

https://docs.microsoft.com/fr-fr/office/vba/language/concepts/getting-started/64-bit-visual-basic-for-applications-overview

En version Excel 32 bits, on n'a pas besoin. Or le code présenté date de 4 ou 5 ans.

Rechercher des sujets similaires à "boutons imprimer"