G un petit bleme, j'arrive pas a definir l'impression de mon userform.
je vous explique :
j'ai un userform sur lequel se trouve un bouton "imprimer", qui lance
l'impression de plusieurs feuilles Excel (jusqu'ici pas de probleme), et aussi
celle du Userform (avec UserForm.printform). La par contre, ca lance bien
l'impression, mais je ne trouve pas comment definir l'impression. Ca me
l'imprime en haut a gauche de la page :'( ... moi je le veux au centre!!
Merci a l'avance, je suis sur que quelqu'un sait ca!! ;)
--
Use our news server 'news.foorum.com' from anywhere.
More details at: http://nnrpinfo.go.foorum.com/
L’imprimante utilisée par la méthode PrintForm est déterminée par les paramètres
du Panneau de configuration du système d’exploitation. une solution possible
modifier ces paramètres et les remettre aux valeurs d'origine par Api. sur le
site de Laurent Longre http://longre.free.fr/ tu trouvera des exemples des
fonction Api, mais je n'ai jamais utilisé ce genre de fonction alors je passe la
main.
bonne travail a+
isabelle
Ben a écrit :
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 CommandButton2_Click()
' Ici ton code
PrintUserForm
End Sub
Private Sub PrintUserForm()
Dim BookName As String
Me.Repaint '* Relâche le bouton avant l'impression
keybd_event vbKeySnapshot, 0, 0&, 0&
Application.ScreenUpdating = False
Workbooks.Add
BookName = ActiveWorkbook.Name
ActiveWindow.Visible = False
Workbooks(BookName).Sheets(1).Paste
With Workbooks(BookName).Sheets(1).PageSetup
.RightFooter = Me.Caption & " Le &D Page &P/&N"
.PrintGridlines = False
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlPortrait '* Vertical
'.Orientation = xlLandscape '* Horizontal
.PaperSize = xlPaperA4
.Zoom = 100 '* Mettre en remarque si impression ajustée
' * Ajuste l'impression (largeur & hauteur)
'.Zoom = False
'.FitToPagesWide = 1
'.FitToPagesTall = 1
End With
Application.ScreenUpdating = True
Windows(BookName).SelectedSheets.PrintOut Copies:=1
Workbooks(BookName).Close False
End Sub
MP
"Ben" <wide...@ifrance.com> a écrit dans le message de news:
20021029-1...@foorum.com...
une procédure (parmi d'autre concernant l'impression) pour changer
l'imprimante active trouvée sur le site de Frédéric
Sigonneau
http://perso.wanadoo.fr/frederic.sigonneau
Damien
===============================
Attribute VB_Name = "ChangerImprimante"
'changer temporairement l'imprimante par défaut pour une autre
'B Marchand, mpfe
Sub ZazaPrinter()
Dim DefPrt ' ---- éventuellement déclarer la variable DefPrt en public
Dim rep
'----- memorisation imprimante active
DefPrt = Application.ActivePrinter
rep = MsgBox(Application.ActivePrinter, vbInformation, "Avant")
' ------ dialogue pour changer l'imprimante
Application.Dialogs(xlDialogPrinterSetup).Show
rep = MsgBox(Application.ActivePrinter, vbInformation, "A partir de
Maintenant")
'--------------------------
' ici la partie de code qui doit utiliser l'imprimante choisie
'--------------------------
'----- reaffectation de l'imprimante d'origine
Application.ActivePrinter = DefPrt
rep = MsgBox(Application.ActivePrinter, vbInformation, "Comme au début")
End Sub
Merci quand meme a toi. :)