Bonjour,
Je viens d'essayer ce code trouvé sur le forum.
Je n'ai pas de document word qui s'ouvre. Je peux seulement enregistrer un fichier .XPS.
J'ai bien cocher la référence microsoft word object library.
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()
'impression de l'USF au centre de la feuille
'http://www.excel-downloads.com/html/French/forum/read.php?f=1&i=121620&t=121620
'testé avec WinXP et Excel2002
'michelxld le 19.10.2004
'nécéssite d'activer la référence microsoft Word xx.x Object Library
Dim Wrd As Word.Application
Dim WrdDoc As Word.Document
Dim Largeur As Single, Hauteur As Single
Largeur = Me.Width 'largeur USF
Hauteur = Me.Height 'hauteur USF
'Copie d'écran de la forme active
keybd_event vbKeySnapshot, 1, 0&, 0&
DoEvents
Set Wrd = CreateObject("Word.Application") 'creation session Word
On Error Resume Next
Set WrdDoc = Wrd.Documents.Add
Wrd.Visible = False 'pour que Word reste masqué pendant l'opération
Wrd.Selection.PasteSpecial 'colle dans le document Word
With WrdDoc.Shapes(1)
'les marges Word sont supposées identiques left/right & top/bottom
'et le format portrait par défaut
'position horizontale de l'image dans le document
.Left = ((595.2755906 - (WrdDoc.PageSetup.LeftMargin * 2)) - Largeur) / 2
'position verticale de l'image dans le document
.Top = ((841.8897638 - (WrdDoc.PageSetup.TopMargin * 2)) - Hauteur) / 2
End With
WrdDoc.PrintOut 'impression
WrdDoc.Close False 'ferme le document Word sans sauvegarde
WrdDoc.Quit 'ferme l'application Word
End Sub
Je viens d'essayer ce code trouvé sur le forum.
Je n'ai pas de document word qui s'ouvre. Je peux seulement enregistrer un fichier .XPS.
J'ai bien cocher la référence microsoft word object library.
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()
'impression de l'USF au centre de la feuille
'http://www.excel-downloads.com/html/French/forum/read.php?f=1&i=121620&t=121620
'testé avec WinXP et Excel2002
'michelxld le 19.10.2004
'nécéssite d'activer la référence microsoft Word xx.x Object Library
Dim Wrd As Word.Application
Dim WrdDoc As Word.Document
Dim Largeur As Single, Hauteur As Single
Largeur = Me.Width 'largeur USF
Hauteur = Me.Height 'hauteur USF
'Copie d'écran de la forme active
keybd_event vbKeySnapshot, 1, 0&, 0&
DoEvents
Set Wrd = CreateObject("Word.Application") 'creation session Word
On Error Resume Next
Set WrdDoc = Wrd.Documents.Add
Wrd.Visible = False 'pour que Word reste masqué pendant l'opération
Wrd.Selection.PasteSpecial 'colle dans le document Word
With WrdDoc.Shapes(1)
'les marges Word sont supposées identiques left/right & top/bottom
'et le format portrait par défaut
'position horizontale de l'image dans le document
.Left = ((595.2755906 - (WrdDoc.PageSetup.LeftMargin * 2)) - Largeur) / 2
'position verticale de l'image dans le document
.Top = ((841.8897638 - (WrdDoc.PageSetup.TopMargin * 2)) - Hauteur) / 2
End With
WrdDoc.PrintOut 'impression
WrdDoc.Close False 'ferme le document Word sans sauvegarde
WrdDoc.Quit 'ferme l'application Word
End Sub