avyrex1926
Messages postés360Date d'inscriptiondimanche 3 décembre 2006StatutMembreDernière intervention 3 janvier 2012
-
12 janv. 2007 à 04:04
avyrex1926
Messages postés360Date d'inscriptiondimanche 3 décembre 2006StatutMembreDernière intervention 3 janvier 2012
-
12 janv. 2007 à 21:50
Bonjour,
Je voudrais imprimer un UserForm en 3 copies.
Pour ce qui est de l'impression, tous va bien avec ce code:
Private Sub CommandButton3_Click() UserForm3.PrintForm
UserForm3.PrintForm
UserForm3.PrintForm
End Sub
Le problème est que la mise en page ne ce fait pas. Il me manque une partie du UserForm.
Si au lieu de simprimer "Portrait" il s'imprimait "Paysage", je suis sure que ça fonctionnerais.
Mais comment faire pour le mettre en Paysage centré dans la page?
michelxld
Messages postés402Date d'inscriptionvendredi 6 août 2004StatutMembreDernière intervention12 octobre 200832 12 janv. 2007 à 05:10
bonjour
Tu peux tester cette procédure (exemple Excel) pour imprimerl'USF en mode paysage.
(tu pourras encore redimensionner l'objet collé s'il dépasse des bords de la feuille)
Option Explicit
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()
Dim Ws As Worksheet
'Copie d'écran de la forme active
keybd_event vbKeySnapshot, 1, 0&, 0&
DoEvents
'Ajoute une feuille pour coller l'image de la forme
Set Ws = Sheets.Add
Ws.PageSetup.Orientation = xlLandscape
Ws.Paste
'impression centrée dans la page
With Ws
.PageSetup.CenterHorizontally = True
.PageSetup.CenterVertically = True
.PrintOut
End With
End Sub
avyrex1926
Messages postés360Date d'inscriptiondimanche 3 décembre 2006StatutMembreDernière intervention 3 janvier 20123 12 janv. 2007 à 12:23
Merci de ta réponse mais rendu à se code, ça ne marche pas:
Private Declare Sub keybd_event Lib "UserForm3" ( _
ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
End Sub
avyrex1926
Messages postés360Date d'inscriptiondimanche 3 décembre 2006StatutMembreDernière intervention 3 janvier 20123 12 janv. 2007 à 18:24
Je suis désolé j'ai mal inscris
Mais je crois que je ne comprend pas le principe de se code:
Private Declare Sub keybd_event Lib "user32" ( _
ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
Ou dois-je l'insérer se code?
Je cherche mais ne comprend pas ou le placer!
Vous n’avez pas trouvé la réponse que vous recherchez ?
avyrex1926
Messages postés360Date d'inscriptiondimanche 3 décembre 2006StatutMembreDernière intervention 3 janvier 20123 12 janv. 2007 à 21:50
Je sens qu'ont y arrivent,
Bon j'ai placé se code à la bonne place :
Private Declare Sub keybd_event Lib "user32" ( _
ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
Maintenant, il reste un problème. Il me donne un erreur de compilation: Sub ou Fonction non définie:
Private Sub CommandButton3_Click()
Dim Ws As Worksheet
'Copie d'écran de la forme active
keybd_event vbKeySnapshot, 1, 0&, 0&
DoEvents
'Ajoute une feuille pour coller l'image de la forme
Set Ws = Sheets.Add
Ws.PageSetup.Orientation = xlLandscape
Ws.Paste
'impression centrée dans la page
With Ws
.PageSetup.CenterHorizontally = True
.PageSetup.CenterVertically = True
.PrintOut
End With