Annuler une impression ???

  • Initiateur de la discussion Petruchio
  • Date de début
P

Petruchio

Guest
J'ai créé une macro pour pouvoir choiusir le nombre de copie à imprimer et sur quelle imprimante.

Cependant lorsque je clique sur annule ds la fenetre du nombre de copie ou sur la fenetre du choix de l'imprimante ça lance l'impression qd meme.

Alors voilà ma macro
------------------------------------------------------------------------------------
Dim Message, Title, Default, MyValue

Message = "Nombre de copie"
Title = "Impression du classeur"
Default = "1"

MyValue = InputBox(Message, Title, Default)

Application.Dialogs(xlDialogPrinterSetup).Show

ActiveWorkbook.PrintOut Copies:=MyValue? Collate:=True
-------------------------------------------------------------------------------------


Voilà alors que faire ?

Merci
 
Y

Yeahou

Guest
Bonjour Petruchio, le Forum

L'appui sur annuler n'implique pas une sortie de la routine
MyValue est variant, quand tu appuie sur annuler, la valeur renvoyée dans myvalue est vide. la routine se poursuit donc avec myvalue vide puisque tu n'as pas de test et provoque un plantage en essayant d'utiliser MyValue=0 (un variant renvoie une valeur en fonction du contexte, dans ce cas la , la valeur attendue est un entier et myvalue renvoie zéro).
il vaut mieux verrouiller la réponse utilisateur sur un nombre par un type 1
et vérifier la valeur renvoyée.

Cordialement, A+

Dim Message, Title, Default, MyValue, Type_Val As Integer

Message = "Nombre de copie"
Title = "Impression du classeur"
Default = "1"
Type_Val = 1
MyValue = InputBox(Message, Title, Default, Type_Val)
If MyValue = "" Then Exit Sub
Application.Dialogs(xlDialogPrinterSetup).Show

ActiveWorkbook.PrintOut Copies:=MyValue
 
Y

Yeahou

Guest
Re bonjour petruchio, le Forum

le même code un peu clarifié

Dim MyValue
MyValue = Application.InputBox(Prompt:="Nombre de copie", Title:="Impression du classeur", Default:=1, Type:=1)
If MyValue > 0 Then
Application.Dialogs(xlDialogPrinterSetup).Show
ActiveWorkbook.PrintOut Copies:=MyValue
End If

Cordialement, A+
 

Discussions similaires

Réponses
7
Affichages
629

Statistiques des forums

Discussions
312 104
Messages
2 085 330
Membres
102 862
dernier inscrit
Emma35400