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

Print screen dans une macro

10 réponses
Avatar
Jean-Jacques \(JJP\)
Bonjour,

Pensez vous qu'il soit possible de produire un print screen dans une
marcro en VB ?

Si oui, comment.

:-)


--
Amicalement JJP :-)

Adresse anti-spam.
Pour répondre ou m'écrire personnellement, cliquez sur le lien :
http://cerbermail.com/?ShN9MCtgj7

10 réponses

Avatar
michdenis
Bonjour Jean-Jacques,

Il y a ceci proposé par Tom Ogilvy,

'Première section dans le haut d'un module standard :
Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Public Const VK_SNAPSHOT = 44
Public Const VK_LMENU = 164
Public Const KEYEVENTF_KEYUP = 2
Public Const KEYEVENTF_EXTENDEDKEY = 1

'----------------------------------
Sub UnPrintScreen()
' keybd_event VK_SNAPSHOT, 0, 0, 0
DoEvents
keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY + _
KEYEVENTF_KEYUP, 0
keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY + _
KEYEVENTF_KEYUP, 0
DoEvents
Workbooks.Add
Application.Wait Now + TimeValue("00:00:01")
ActiveSheet.PasteSpecial Format:="Bitmap", Link:úlse, DisplayAsIcon:úlse
ActiveSheet.Range("A1").Select
End Sub
'----------------------------------


Salutations!




"Jean-Jacques (JJP)" a écrit dans le message de news: OdiqP$
Bonjour,

Pensez vous qu'il soit possible de produire un print screen dans une
marcro en VB ?

Si oui, comment.

:-)


--
Amicalement JJP :-)

Adresse anti-spam.
Pour répondre ou m'écrire personnellement, cliquez sur le lien :
http://cerbermail.com/?ShN9MCtgj7
Avatar
Jean-Jacques \(JJP\)
Bonjour michdenis, dans le message
%
tu disait :

Bonjour Jean-Jacques,

Il y a ceci proposé par Tom Ogilvy,

'Première section dans le haut d'un module standard :
Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As
Long)

Public Const VK_SNAPSHOT = 44
Public Const VK_LMENU = 164
Public Const KEYEVENTF_KEYUP = 2
Public Const KEYEVENTF_EXTENDEDKEY = 1

'----------------------------------
Sub UnPrintScreen()
' keybd_event VK_SNAPSHOT, 0, 0, 0
DoEvents
keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY + _
KEYEVENTF_KEYUP, 0
keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY + _
KEYEVENTF_KEYUP, 0
DoEvents
Workbooks.Add
Application.Wait Now + TimeValue("00:00:01")
ActiveSheet.PasteSpecial Format:="Bitmap", Link:úlse,
DisplayAsIcon:úlse ActiveSheet.Range("A1").Select
End Sub
'----------------------------------


Salutations!




"Jean-Jacques (JJP)" a écrit dans le message de news:
OdiqP$ Bonjour,

Pensez vous qu'il soit possible de produire un print screen dans une
marcro en VB ?

Si oui, comment.

:-)


Bonjour,

Merci d'avoir retrouvé cela si rapidement.

Je vais voir cela avec attention.

Bien à toi,

@+
JJP

Avatar
Jean-Jacques \(JJP\)
Bonjour michdenis, dans le message
%
tu disait :

Bonjour Jean-Jacques,

Il y a ceci proposé par Tom Ogilvy,

'Première section dans le haut d'un module standard :
Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As
Long)

Public Const VK_SNAPSHOT = 44
Public Const VK_LMENU = 164
Public Const KEYEVENTF_KEYUP = 2
Public Const KEYEVENTF_EXTENDEDKEY = 1

'----------------------------------
Sub UnPrintScreen()
' keybd_event VK_SNAPSHOT, 0, 0, 0
DoEvents
keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY + _
KEYEVENTF_KEYUP, 0
keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY + _
KEYEVENTF_KEYUP, 0
DoEvents
Workbooks.Add
Application.Wait Now + TimeValue("00:00:01")
ActiveSheet.PasteSpecial Format:="Bitmap", Link:úlse,
DisplayAsIcon:úlse ActiveSheet.Range("A1").Select
End Sub
'----------------------------------


Salutations!




"Jean-Jacques (JJP)" a écrit dans le message de news:
OdiqP$ Bonjour,

Pensez vous qu'il soit possible de produire un print screen dans une
marcro en VB ?

Si oui, comment.

:-)


Bonjour,

Ce que j'aurais voulu, c'est une procedure qui ne demande pas
d'intervention au clavier.

@+
JJP

Avatar
michdenis
Bonjour Jean-Jacques,

Dans le modèle objet "Excel", il n'y a pas d'objet ou de commande qui permet de capturer l'écran et de la coller dans une feuille de
calcul. Ceci étant dit, en quoi ce type de procédure te gêne-t-elle ?


Salutations!


"Jean-Jacques (JJP)" a écrit dans le message de news:
Bonjour michdenis, dans le message
%
tu disait :

Bonjour Jean-Jacques,

Il y a ceci proposé par Tom Ogilvy,

'Première section dans le haut d'un module standard :
Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As
Long)

Public Const VK_SNAPSHOT = 44
Public Const VK_LMENU = 164
Public Const KEYEVENTF_KEYUP = 2
Public Const KEYEVENTF_EXTENDEDKEY = 1

'----------------------------------
Sub UnPrintScreen()
' keybd_event VK_SNAPSHOT, 0, 0, 0
DoEvents
keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY + _
KEYEVENTF_KEYUP, 0
keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY + _
KEYEVENTF_KEYUP, 0
DoEvents
Workbooks.Add
Application.Wait Now + TimeValue("00:00:01")
ActiveSheet.PasteSpecial Format:="Bitmap", Link:úlse,
DisplayAsIcon:úlse ActiveSheet.Range("A1").Select
End Sub
'----------------------------------


Salutations!




"Jean-Jacques (JJP)" a écrit dans le message de news:
OdiqP$ Bonjour,

Pensez vous qu'il soit possible de produire un print screen dans une
marcro en VB ?

Si oui, comment.

:-)


Bonjour,

Ce que j'aurais voulu, c'est une procedure qui ne demande pas
d'intervention au clavier.

@+
JJP

Avatar
Jean-Jacques \(JJP\)
Bonjour michdenis, dans le message
%
tu disait :

Bonjour Jean-Jacques,

Dans le modèle objet "Excel", il n'y a pas d'objet ou de commande qui
permet de capturer l'écran et de la coller dans une feuille de
calcul. Ceci étant dit, en quoi ce type de procédure te gêne-t-elle ?


Salutations!

Bonjour,

Ce que j'aurais voulu, c'est une procedure qui ne demande pas
d'intervention au clavier.

@+
JJP


Bonjour,

Ce que je veux , c'est avoir sur l'imprimante la representation de
l'écran, à un moment donné, durant le déroulement de la macro sans
intervention manuelle.

On me parle de passer par " send key AltImprSyst " , je ne connais pas !


@+
JJP

Avatar
michdenis
En quoi la procédure est incompatible avec ce que tu recherches à faire ?

La macro générale que tu veux exécuter doit-on la deviner ?


Salutations!




"Jean-Jacques (JJP)" a écrit dans le message de news:
Bonjour michdenis, dans le message
%
tu disait :

Bonjour Jean-Jacques,

Dans le modèle objet "Excel", il n'y a pas d'objet ou de commande qui
permet de capturer l'écran et de la coller dans une feuille de
calcul. Ceci étant dit, en quoi ce type de procédure te gêne-t-elle ?


Salutations!

Bonjour,

Ce que j'aurais voulu, c'est une procedure qui ne demande pas
d'intervention au clavier.

@+
JJP


Bonjour,

Ce que je veux , c'est avoir sur l'imprimante la representation de
l'écran, à un moment donné, durant le déroulement de la macro sans
intervention manuelle.

On me parle de passer par " send key AltImprSyst " , je ne connais pas !


@+
JJP

Avatar
ChrisV
Bonjour Jean-Jacques (JJP),

On me parle de passer par " send key AltImprSyst " , je ne connais pas !


Il s'agit de l'instruction SendKeys
Elle envoie une ou plusieurs touches à la fenêtre active comme s'il
s'agissait d'une saisie directe au clavier.

Malheureusement, et dixit l'aide:
L'instruction SendKeys ne peut envoyer de touches à une application qui
n'est pas conçue pour être exécutée dans l'environnement Microsoft Windows.
L'instruction Sendkeys ne peut pas non plus envoyer la touche IMP. ÉCRAN
{PRTSC} aux applications.


ChrisV


"Jean-Jacques (JJP)" a écrit dans le message de news:

Bonjour michdenis, dans le message
%
tu disait :

Bonjour Jean-Jacques,

Dans le modèle objet "Excel", il n'y a pas d'objet ou de commande qui
permet de capturer l'écran et de la coller dans une feuille de
calcul. Ceci étant dit, en quoi ce type de procédure te gêne-t-elle ?


Salutations!

Bonjour,

Ce que j'aurais voulu, c'est une procedure qui ne demande pas
d'intervention au clavier.

@+
JJP


Bonjour,

Ce que je veux , c'est avoir sur l'imprimante la representation de
l'écran, à un moment donné, durant le déroulement de la macro sans
intervention manuelle.

On me parle de passer par " send key AltImprSyst " , je ne connais pas !


@+
JJP





Avatar
Jean-Jacques \(JJP\)
Bonjour ChrisV, dans le message
O%
tu disait :

Bonjour Jean-Jacques (JJP),

On me parle de passer par " send key AltImprSyst " , je ne connais
pas !


Il s'agit de l'instruction SendKeys
Elle envoie une ou plusieurs touches à la fenêtre active comme s'il
s'agissait d'une saisie directe au clavier.

Malheureusement, et dixit l'aide:
L'instruction SendKeys ne peut envoyer de touches à une application
qui n'est pas conçue pour être exécutée dans l'environnement
Microsoft Windows. L'instruction Sendkeys ne peut pas non plus
envoyer la touche IMP. ÉCRAN {PRTSC} aux applications.


ChrisV


"Jean-Jacques (JJP)" a écrit dans le message de news:

Bonjour michdenis, dans le message
%
tu disait :

Bonjour Jean-Jacques,

Dans le modèle objet "Excel", il n'y a pas d'objet ou de commande
qui permet de capturer l'écran et de la coller dans une feuille de
calcul. Ceci étant dit, en quoi ce type de procédure te gêne-t-elle
? Salutations!

Bonjour,

Ce que j'aurais voulu, c'est une procedure qui ne demande pas
d'intervention au clavier.

@+
JJP


Bonjour,

Ce que je veux , c'est avoir sur l'imprimante la representation de
l'écran, à un moment donné, durant le déroulement de la macro sans
intervention manuelle.

On me parle de passer par " send key AltImprSyst " , je ne connais
pas ! @+
JJP



Bonjour est merci à michdenis et ChrisV.

Comme cela je sais que je ne dois plus chercher a faire cela.

Me reste a trouver une autre solution pour avoir sur papier ce qui ce
génère à l'écran durant le travail de la macro.

Merci encore pour votre aide.

PS : michdenis, concernant la macro, non ce n'est pas un secret, nous
travaillons à plusieur et moi j'ai en charge la partie "sortie sur
papier" d'un rapport reprenant entre autre une serie de calculs et
graphiques créer avec excel.

@+
JJP



Avatar
michdenis
Bonjour Jean-Jacques,

Je ne sais pas ce que ta macro réalise mais je ne vois pas pourquoi tu ne pourrais pas insérer dans celle-ci la macro proposée et
ainsi imprimer l'image collée à l'écran !


Salutations!


"Jean-Jacques (JJP)" a écrit dans le message de news:
Bonjour ChrisV, dans le message
O%
tu disait :

Bonjour Jean-Jacques (JJP),

On me parle de passer par " send key AltImprSyst " , je ne connais
pas !


Il s'agit de l'instruction SendKeys
Elle envoie une ou plusieurs touches à la fenêtre active comme s'il
s'agissait d'une saisie directe au clavier.

Malheureusement, et dixit l'aide:
L'instruction SendKeys ne peut envoyer de touches à une application
qui n'est pas conçue pour être exécutée dans l'environnement
Microsoft Windows. L'instruction Sendkeys ne peut pas non plus
envoyer la touche IMP. ÉCRAN {PRTSC} aux applications.


ChrisV


"Jean-Jacques (JJP)" a écrit dans le message de news:

Bonjour michdenis, dans le message
%
tu disait :

Bonjour Jean-Jacques,

Dans le modèle objet "Excel", il n'y a pas d'objet ou de commande
qui permet de capturer l'écran et de la coller dans une feuille de
calcul. Ceci étant dit, en quoi ce type de procédure te gêne-t-elle
? Salutations!

Bonjour,

Ce que j'aurais voulu, c'est une procedure qui ne demande pas
d'intervention au clavier.

@+
JJP


Bonjour,

Ce que je veux , c'est avoir sur l'imprimante la representation de
l'écran, à un moment donné, durant le déroulement de la macro sans
intervention manuelle.

On me parle de passer par " send key AltImprSyst " , je ne connais
pas ! @+
JJP



Bonjour est merci à michdenis et ChrisV.

Comme cela je sais que je ne dois plus chercher a faire cela.

Me reste a trouver une autre solution pour avoir sur papier ce qui ce
génère à l'écran durant le travail de la macro.

Merci encore pour votre aide.

PS : michdenis, concernant la macro, non ce n'est pas un secret, nous
travaillons à plusieur et moi j'ai en charge la partie "sortie sur
papier" d'un rapport reprenant entre autre une serie de calculs et
graphiques créer avec excel.

@+
JJP



Avatar
Jean-Jacques \(JJP\)
Bonjour michdenis, dans le message
%233$
tu disait :

Bonjour Jean-Jacques,

Je ne sais pas ce que ta macro réalise mais je ne vois pas pourquoi
tu ne pourrais pas insérer dans celle-ci la macro proposée et ainsi
imprimer l'image collée à l'écran !


Salutations!

Bonjour michdenis,


C'est effectivement ce que j'ai posté ce matin au collègue qui finalise
le projet.

Merci pour le retour.

Bon WE

@+
JJP