Se connecter avec
S'enregistrer | Connectez-vous

[VBA] macro raccourci d'impression

Dernière réponse : dans Programmation

Bonjour. Voila dans une marcro j'ai le code ci-dessous ce code m'affiche directement les propriétés de l'imprimante et ensuite imprime mais lorsque je clique sur annuler, dans la fenetre des propriéte, l'impression se lance comme meme.

Sub test()
With ActiveDocument
.PrintSettings.Printer.ShowDialog
.PrintOut
End With
End Sub

je voudrais savoir comment prendre en compte le boutton annuler pour que l'impression ne se lance pas.

merci

Autres pages sur : vba macro raccourci impression

Lassé par la pub ? Créez un compte

bon g sa:

Public Sub test()

On Error GoTo ErrorHandler

With ActiveDocument
.PrintSettings.Printer.showdialog

If vbNo = MsgBox("Imprimer ce document ?", vbYesNo) Then
GoTo ErrorHandler
Else
.PrintOut
End If

End With

ErrorHandler:
End Sub

et sinon est-ce qu'il est possible de creer une sorte de plugins qui créerait un icone dans un programm de type corel draw par example et qui exécuteré ma macro lorsque je cliquerais dessus .
car ce programme doit être mit sur plusieurs poste chez des clients qui installeront eux même le logiciel donc lors de l'installation de corel il faut que l’icône apparaisse déjà c’est pour cela qu’il me faut savoir comment faire sa, j’ai pensé à faire une sorte de plugins ou de dll mais je ne vois pas comme faire.

merci

Salut,
Pour afficher tu peux mettre juste:
Reponse1 = Application.Dialogs(xlDialogPrint).Show

Et pour installer tes macros chez tes clients, tu peux exporter ton code VBA en sous forme de fichier *.bas, ou alors créer une macro complémentaire et le mettre en fichier *.xla
Je connais pas la démarche, mais chez sur google et tu auras des réponses.

voila le code


Public Sub Installation_de_la_barre()

CommandBars.Add "lancement en gravure", cuiBarTop, False 'crée la toolbar
CommandBars.Item("lancement en gravure").Visible = True

With CommandBars.Item("lancement en gravure").Controls.AddCustomButton("Macros", "gravure.Module.lancement")
.Caption = "Print" 'crée le bouton avec les propriétés adéquates
.Visible = True
.SetCustomIcon ("C:\Program Files\Corel\Corel Graphics 12\Draw\GMS\laser.ico") ' chemin d’accès de son propre icône.
.ToolTipText = "envoie en gravure"

End With
End Sub


Sub lancement()
'macro qui permet d'ouvrir directement les propriétés de l'imprimante pour ensuite imprimer le document.

On Error GoTo ErrorHandler 'renvoie à ErrorHandler s'il n'y a pas de document ouvert.


x = "L-Solution" ' nom de l’imprimante laser
' Faire en sorte que l’imprimante laser "L-Solution" soit celle par défaut
ActiveDocument.PrintSettings.SelectPrinter (x)



With ActiveDocument
.PrintSettings.Printer.showdialog 'ouvre la boite de dialogue des propriétés de l'imprimante.

If vbNo = MsgBox("Lancer en gravure ce document ?", vbYesNo) Then 'demande confirmation pour l'envoie en gravure.
GoTo ErrorHandler 'reponse "annuler" revoie a ErrorHandler
Else
.PrintOut 'réponse "ok" et lance la gravure
End If

End With
ErrorHandler: 'arrêt de la macro lorsqu'il n'y pas de document ouvert ou si la réponse est "annuler"
End Sub
Lassé par la pub ? Créez un compte
Tom's guide dans le monde