Problème 1004 - Capture d'écran
zapp56
-
zapp56 -
zapp56 -
Bonjour,
Je suis sur Excel 2003. Je souhaite réaliser une capture d'écran de mon userform, la coller sur ma "Feuil1" pour pouvoir l'imprimer.
J'ai trouvé une méthode légère et simple sur internet.
Pour ce faire j'utilise un header à mon userform :
puis dans le "commandbutton_click" concerné :
Je me retrouve avec l'erreur 1004 - "La méthode paste de la classe WorkSheet a échoué".
A savoir que si je choisis "débogage" et que je relance là où ça s'est arrêté, ça marche...
Une idée ?
Je suis sur Excel 2003. Je souhaite réaliser une capture d'écran de mon userform, la coller sur ma "Feuil1" pour pouvoir l'imprimer.
J'ai trouvé une méthode légère et simple sur internet.
Pour ce faire j'utilise un header à mon userform :
Private Declare Sub keybd_event Lib "user32" ( _
ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
puis dans le "commandbutton_click" concerné :
keybd_event vbKeySnapshot, 1, 0&, 0&
DoEvents
Sheets("Feuil1").Activate
Range("A1").Select
ActiveSheet.Paste
Je me retrouve avec l'erreur 1004 - "La méthode paste de la classe WorkSheet a échoué".
A savoir que si je choisis "débogage" et que je relance là où ça s'est arrêté, ça marche...
Une idée ?
A voir également:
- Problème 1004 - Capture d'écran
- Capture d'écran whatsapp - Accueil - Messagerie instantanée
- Capture d'écran samsung - Guide
- Capture d'écran mac - Guide
- Double ecran - Guide
- Capture d'écran ipad - Guide
Je ne comprends pas l'occurrence de ce problème, à vrai dire. J'ai utilisé une autre méthode : (trouvée sur internet)
Je la lance depuis le bouton imprimer, qui ouvre un module (le code n'est donc plus dans mon usf)
Cette méthode fonctionne parfaitement si je sélectionne mon usf manuellement dans la fenêtre de développement, que je "F5" et que j'appuie sur le bouton "imprimer".
Mais si je lance depuis Workbook_Open() [l'ouverture du classeur] alors ça plante sur la ligne (".pastespecial...") avec l'erreur sus-nommée.
Il semblerait que ce soit la mise en commentaire de la ligne
qui fait que le code s'exécute sans laisser le temps au pc d'exécuter
Ce qui fait que le code cherche une "ActiveSheet" qui n'a pas encore été créée. D'où la nécessité de laisser l' "Application.wait". Bien sûr j'ai réduit le temps d'attente. Dans ma source, la valeur initiale était "... + Timevalue("00:00:01")
En espérant que ceci pourra aider quelqu'un...