XL 2016 Copie écran si deux écrans

Lolote83

XLDnaute Barbatruc
Bonjour à tous,
Dans le cadre de mon boulot, on me demande de joindre systématiquement une copie d'écran.
Pour cela, j'ai réalisé un fichier Excel qui lorsque je clique sur un bouton, un lien hypertexte me permet donc d'ouvrir une page Web en fonction de critères passés en paramètres (ça c'est bon). Une fois la copie d'écran insérée (manuellement pour le moment), j'enregistre le tout en PDF (ça c'est bon).

Mon souci est que je travaille sur deux écrans et je voudrais savoir comment faire une copie d'écran. (VBA)

Question 1 :
- Si je travaille sur l'écran 1 (Excel), comment faire la copie de l'écran 2 (Web)
- Si je travaille sur l'écran 2 (Excel), comment faire la copie de l'écran 1 (Web)

Question 2 :
Si toutefois, cette manipulation n'est pas possible, j'utilise actuellement l'outil Capture (représentant un petit appareil photo - onglet Insertion du ruban) me permettant de choisir parmi les fenêtres disponibles celle que je veux insérer dans mon fichier Excel.
Par contre, je n'arrive pas à piloter via macro cet outil. Est-ce réalisable ?

Question 3 :
Comment forcer par macro, l'onglet Insertion du ruban sachant que je peux être sur celui Accueil ou Mise en page ou tout autre.
En espérant que ma demande trouvera une réponse

Cordialement
@+ Lolote83
 

Pièces jointes

  • upload_2017-5-18_9-11-50.png
    upload_2017-5-18_9-11-50.png
    7 KB · Affichages: 50

STephane

XLDnaute Occasionnel
Bonjour

Un début d'aide
VB:
'# à mettre en haut d'un module classique
Private Declare PtrSafe Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
'# la procédure exemple
Sub Copie_d_Ecran()
Application.WindowState = xlMinimized
keybd_event vbKeySnapshot, 1, 0&, 0&
DoEvents
Application.WindowState = xlNormal
Range("A1").Select
ActiveSheet.Paste
End Sub
 

Lolote83

XLDnaute Barbatruc
Bonjour Stephane,
Merci pour le bout de code, je l'avais effectivement trouvé et adapté à mon fichier.
Cela correspond donc à la question 1.
Quid des questions 2 et 3.
Elles n'ont plus beaucoup d'importance, mais c'est juste pour apprendre et me perfectionner encore et encore.
@+ Lolote83
 

Discussions similaires