Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment capturer un formulaire dans le press papier ?

16 réponses
Avatar
FPinton
Bonjour à tous,

Je cherche à capturer dans le press papier un formulaire afficher à l'écran.
Quand je fais mes essais en appuyant sur les touches shift + Imprime écran,
je capture bien le formulaire qui est affiché car ensuite je peux le coller
dans word pour l'imprimer correctement.

Mon problème c'est que si je mets l'enregistreur de macro en route pour
créer le code de cette action, ça ne fonctionne pas et étant donné que je ne
sais pas comment commencer mon code VBA, je me retrouve dans la panade
encore une fois.

Pouvez vous me dire comment faire pour copier ce formulaire ?

et même peut être comment imprimer le contenu du presspapier sans rien collé
dans Word ?

Merci de votre aide à tous !

10 réponses

1 2
Avatar
LSteph
Bonjour,

si le but est juste in fine d'imprimer

Me.PrintForm


--
lSteph

On 9 juil, 15:29, "FPinton" wrote:
Bonjour à tous,

Je cherche à capturer dans le press papier un formulaire afficher à l 'écran.
Quand je fais mes essais en appuyant sur les touches shift + Imprime éc ran,
je capture bien le formulaire qui est affiché car ensuite je peux le co ller
dans word pour l'imprimer correctement.

Mon problème c'est que si je mets l'enregistreur de macro en route pour
créer le code de cette action, ça ne fonctionne pas et étant donn é que je ne
sais pas comment commencer mon code VBA, je me retrouve dans la panade
encore une fois.

Pouvez vous me dire comment faire pour copier ce formulaire  ?

et même peut être comment imprimer le contenu du presspapier sans rie n collé
dans Word ?

Merci de votre aide à tous !


Avatar
Misange
Bonjour

l'enregistreur de macros d'excel enregistre ... ce qui est dans excel.
La copie d'écran est un processus windows, pas excel.

Misange migrateuse
http://www.excelabo.net : Participez à un travail collaboratif sur excel !


FPinton a écrit :
Bonjour à tous,

Je cherche à capturer dans le press papier un formulaire afficher à l'écran.
Quand je fais mes essais en appuyant sur les touches shift + Imprime écran,
je capture bien le formulaire qui est affiché car ensuite je peux le coller
dans word pour l'imprimer correctement.

Mon problème c'est que si je mets l'enregistreur de macro en route pour
créer le code de cette action, ça ne fonctionne pas et étant donné que je ne
sais pas comment commencer mon code VBA, je me retrouve dans la panade
encore une fois.

Pouvez vous me dire comment faire pour copier ce formulaire ?

et même peut être comment imprimer le contenu du presspapier sans rien collé
dans Word ?

Merci de votre aide à tous !






Avatar
FFO
Bonjour à toi

Ce code devrait te convenir :

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)

Sub Impression()
keybd_event vbKeySnapshot, 1, 0&, 0&
DoEvents

End Sub

Pour l'impression directe il existe des utilitaires qui le permettent aprés
l'activation de l'impression d'écran

A rechercher sur la toile

Fais des essais et dis moi !!!!!
Avatar
Daniel.C
Bonjour.
C'est là le problème, ça imprime mal (cf. post 16/06/2009 17:55:17)
Daniel

Bonjour,

si le but est juste in fine d'imprimer

Me.PrintForm


--
lSteph

On 9 juil, 15:29, "FPinton" wrote:
Bonjour à tous,

Je cherche à capturer dans le press papier un formulaire afficher à l'écran.
Quand je fais mes essais en appuyant sur les touches shift + Imprime écran,
je capture bien le formulaire qui est affiché car ensuite je peux le coller
dans word pour l'imprimer correctement.

Mon problème c'est que si je mets l'enregistreur de macro en route pour
créer le code de cette action, ça ne fonctionne pas et étant donné que je ne
sais pas comment commencer mon code VBA, je me retrouve dans la panade
encore une fois.

Pouvez vous me dire comment faire pour copier ce formulaire  ?

et même peut être comment imprimer le contenu du presspapier sans rien collé
dans Word ?

Merci de votre aide à tous !




Avatar
MichDenis
Bonjour FPinton,

Une procédure publiée sur ce forum par Michel Perron.

Dans le haut du formulaire : Déclaration des API

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

' La procédure d'impression dans l'UserForm:

'------------------------------------------
Private Sub CommandButton1_Click()
Dim BookName As String

Application.CutCopyMode = False
EmptyClipboard
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
'------------------------------------------





"FPinton" a écrit dans le message de groupe de discussion :

Bonjour à tous,

Je cherche à capturer dans le press papier un formulaire afficher à l'écran.
Quand je fais mes essais en appuyant sur les touches shift + Imprime écran,
je capture bien le formulaire qui est affiché car ensuite je peux le coller
dans word pour l'imprimer correctement.

Mon problème c'est que si je mets l'enregistreur de macro en route pour
créer le code de cette action, ça ne fonctionne pas et étant donné que je ne
sais pas comment commencer mon code VBA, je me retrouve dans la panade
encore une fois.

Pouvez vous me dire comment faire pour copier ce formulaire ?

et même peut être comment imprimer le contenu du presspapier sans rien collé
dans Word ?

Merci de votre aide à tous !
Avatar
LSteph
Bonjour Daniel,

Pour l'usage qu'on pourrait avoir à imprimer uniquement le contenu d'un
UserForm c'est tout à fait suffisant amha..
Au delà, il y a d'autres moyens comme l'impression d'écran ou envisager
le report des éléments contenus dans le Userform dans un support mieux
adapté à l'impression.
En tout état de cause, je ne suis pas si c'est ce que ton message
suppose, allé voir si notre questionneur avait déjà un Fil du 16/06
attendu qu'en ce cas il suffisait de rester dans le même.

;-)

@+

--
lSteph



Daniel.C a écrit :
Bonjour.
C'est là le problème, ça imprime mal (cf. post 16/06/2009 17:55:17)
Daniel

Bonjour,

si le but est juste in fine d'imprimer

Me.PrintForm


--
lSteph

On 9 juil, 15:29, "FPinton" wrote:
Bonjour à tous,

Je cherche à capturer dans le press papier un formulaire afficher à
l'écran.
Quand je fais mes essais en appuyant sur les touches shift + Imprime
écran,
je capture bien le formulaire qui est affiché car ensuite je peux le
coller
dans word pour l'imprimer correctement.

Mon problème c'est que si je mets l'enregistreur de macro en route pour
créer le code de cette action, ça ne fonctionne pas et étant donné
que je ne
sais pas comment commencer mon code VBA, je me retrouve dans la panade
encore une fois.

Pouvez vous me dire comment faire pour copier ce formulaire ?

et même peut être comment imprimer le contenu du presspapier sans
rien collé
dans Word ?

Merci de votre aide à tous !








Avatar
LSteph
..
un pdf serait aussi une hypothèse..
Avatar
FPinton
Bonjour LSteph,

En effet j'ai déjà posé une question pour obtenir au final l'impression d'un
userforme à laquelle on m'a répondu que le problème était connu et qu'il n'y
avait pas de soluce à ce jour. Donc ta proposition Me.PrintForm que j'avais
déjà tentée auparavant, fonctionne mais pas de façon complète.
Aujourd'hui j'ai fait l'impasse sur l'impression direct qui est infaisable,
et je me débrouille autrement, en faisant un copié collé du formulaire avec
les raccourcis Windows.
Donc mon nouveau post est pour savoir si ce que je fait en copié collé et
qui fonctionne très bien, ne pourrait pas être automatisé.

Bon week-end à toi !


"LSteph" a écrit dans le message de news:
%
Bonjour Daniel,

Pour l'usage qu'on pourrait avoir à imprimer uniquement le contenu d'un
UserForm c'est tout à fait suffisant amha..
Au delà, il y a d'autres moyens comme l'impression d'écran ou envisager le
report des éléments contenus dans le Userform dans un support mieux adapté
à l'impression.
En tout état de cause, je ne suis pas si c'est ce que ton message suppose,
allé voir si notre questionneur avait déjà un Fil du 16/06
attendu qu'en ce cas il suffisait de rester dans le même.

;-)

@+

--
lSteph



Daniel.C a écrit :
Bonjour.
C'est là le problème, ça imprime mal (cf. post 16/06/2009 17:55:17)
Daniel

Bonjour,

si le but est juste in fine d'imprimer

Me.PrintForm


--
lSteph

On 9 juil, 15:29, "FPinton" wrote:
Bonjour à tous,

Je cherche à capturer dans le press papier un formulaire afficher à
l'écran.
Quand je fais mes essais en appuyant sur les touches shift + Imprime
écran,
je capture bien le formulaire qui est affiché car ensuite je peux le
coller
dans word pour l'imprimer correctement.

Mon problème c'est que si je mets l'enregistreur de macro en route pour
créer le code de cette action, ça ne fonctionne pas et étant donné que
je ne
sais pas comment commencer mon code VBA, je me retrouve dans la panade
encore une fois.

Pouvez vous me dire comment faire pour copier ce formulaire ?

et même peut être comment imprimer le contenu du presspapier sans rien
collé
dans Word ?

Merci de votre aide à tous !









Avatar
FPinton
Bonjour MichDenis et merci de ta proposition.

Ton code me semble être sensiblement le même que celui de FFO en plus
complet, mais j'ai beau les essayer tout les 2, ils ne fonctionnepas très
bien chez moi.....
En fait quand je décompose l'action, je vois qu'il me crée bien une nouveau
classeur mais qu'il me colle sur la 1ere feuille non pas le formulaire, mais
ce que j'avais auparavant dans le presspapier, donc suivant le cas, un texte
ou une image ou tout autre chose que j'aurrais copier avant de lancer la
macro.
Par contre chose bizar (pour moi) je me retrouve ensuite avec la copie du
formulaire dans le presspapier ce qui fait que si je refait un collé
(ctrl+c) dans la feuille1 du nouveau classeur, j'ai bien mon formulaire qui
se pose...???

Aurais-je raté quelque chose ???

J'ai changé
keybd_event vbKeySnapshot, 0, 0&, 0&
par
keybd_event vbKeySnapshot, 1, 0&, 0&
comme le propose FFO, mais ça ne change rien.

@+


"MichDenis" a écrit dans le message de news:

Bonjour FPinton,

Une procédure publiée sur ce forum par Michel Perron.

Dans le haut du formulaire : Déclaration des API

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

' La procédure d'impression dans l'UserForm:

'------------------------------------------
Private Sub CommandButton1_Click()
Dim BookName As String

Application.CutCopyMode = False
EmptyClipboard
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
'------------------------------------------





"FPinton" a écrit dans le message de groupe de
discussion :

Bonjour à tous,

Je cherche à capturer dans le press papier un formulaire afficher à
l'écran.
Quand je fais mes essais en appuyant sur les touches shift + Imprime
écran,
je capture bien le formulaire qui est affiché car ensuite je peux le
coller
dans word pour l'imprimer correctement.

Mon problème c'est que si je mets l'enregistreur de macro en route pour
créer le code de cette action, ça ne fonctionne pas et étant donné que je
ne
sais pas comment commencer mon code VBA, je me retrouve dans la panade
encore une fois.

Pouvez vous me dire comment faire pour copier ce formulaire ?

et même peut être comment imprimer le contenu du presspapier sans rien
collé
dans Word ?

Merci de votre aide à tous !



Avatar
FPinton
Merci FFO pour ta proposition,
Voir la réponse apporté à MichDenis ...
@+

"FFO" a écrit dans le message de news:

Bonjour à toi

Ce code devrait te convenir :

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)

Sub Impression()
keybd_event vbKeySnapshot, 1, 0&, 0&
DoEvents

End Sub

Pour l'impression directe il existe des utilitaires qui le permettent
aprés
l'activation de l'impression d'écran

A rechercher sur la toile

Fais des essais et dis moi !!!!!



1 2