Bonjour
pour imprimer un écran (formulaire) vers un fichier PDF j'utilise (vu dans FAQ)
L'image du UserForm est automatiquement placée dans le coin supérieur gauche de la page imprimée.
Il n'existe pas d'option pour centrer ou repositionner l'impression. La seule solution palliative consiste à faire une copie d'écran de la boîte de dialogue. Ensuite vous faites un collage dans la feuille de calcul en tant qu'image, pour la manipuler à votre guise.
Cet exemple imprime l'UserForm centré dans la page:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 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.Paste 'impression centrée dans la page With Ws .PageSetup.CenterHorizontally = True .PageSetup.CenterVertically = True .PrintOut End With End Sub
mais je souhaite :
paramétrer le chemin et le fichier créé
avoir tous l'écran sur une page
Dans le FAQ et la doc microsoft (2013)
il y a
mais celà ne me semble pas géré en Exel 2007
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 .PageSetup.PrinToFile = True .PageSetup.PrinToFileName = "C:\program files\apbene\stats\benevole_ind\nom&prenom.pdf" .PageSetup.PrintArea = "$A$1:$N$48"
est-ce exact ?
merci de m'aider pour prendre en compte ces besoins en exel 2007
solution ?
paliatif ?
bien cordialement
MJ
Partager