macro apres impression

  • Initiateur de la discussion Initiateur de la discussion michel
  • 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 !

M

michel

Guest
bonjour
je cherche a elaborer une macro qui se lançerait apprès une impression.Est-ce possible ? Je connais la commande "beforeprint" y-a-t-il equivalent en "afterprint" ?
Merçi pour la reponse .Bonne Année a tous les participants du forum.

Michel
 
bonjour michel

tu peux tester cette macro .Dans l'exemple , un message s'affiche lorsque l'impression est terminée . Tu pourras ensuite l'adapter pour ton projet
je ne pense pas que cela fonctionne pour des versions de Windows antérieures à Win2000

necessite d'activer la reference Microsoft WMI Scripting Library
dans visual Basic Editor :
Menu Outils
References
coches la reference Microsoft WMI Scripting Library
cliques sur OK pour valider


'********** dans ThisWorkbook ************************
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Temporisation
End Sub

'******************************************************

''****************dans un module *******************************************
Sub Temporisation()
Application.OnTime Now + TimeValue("00:00:02"), "Suivi_Impression"
End Sub

Sub Suivi_Impression()
'michelxld pour le forum http://www.excel-downloads.com
'http://www.excel-downloads.com/html/French/forum/messages/1_137747_137747.htm
'le 01.01.2005 , testé avec WinXP et Excel2002
'necessite d'activer la reference Microsoft WMI Scripting Library
Dim nomPC As String
Dim objWMIService As WbemScripting.SWbemServices
Dim objPrintJobSet As Object

nomPC = "."

Set objWMIService = GetObject("winmgmts:\\" & nomPC & "\root\cimv2")
Set objPrintJobSet = objWMIService.InstancesOf("Win32_PrintJob")

'*****************intercepte la fin d'impression******************************
If objPrintJobSet.Count = 0 Then
MsgBox "Impression terminée"
Finir
Exit Sub
End If
'*******************************************************************************

Temporisation

End Sub

Sub Finir()
On Error Resume Next
Application.OnTime Now + TimeValue("00:00:01"), "Suivi_Impression", , Schedule:=False
End Sub



bon apres midi et tres bonne année 2005
MichelXld
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 gestion de stock
Réponses
4
Affichages
227
Réponses
66
Affichages
567
Réponses
7
Affichages
131
Réponses
4
Affichages
275
  • Résolu(e)
Microsoft 365 transposer
Réponses
6
Affichages
112
Réponses
9
Affichages
122
Retour