XL 2016 Copie écran si deux écrans

  • Initiateur de la discussion Initiateur de la discussion Lolote83
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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: 52
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
491
Retour