[RESOLU] bouton annuler d'une boite de dialogue ne stoppe pas la macro, pbl de code!

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 !

chismah

XLDnaute Nouveau
Bonjour,

j'ai créé un bouton qui lance l'impression en permettant de sélectionner l'imprimante via une boite de dialogue.
seulement, lorsque qu'on clique sur annuler dans cette boite de dialogue, l'impression se lance quand même sur l'imprimante par défaut.
je ne voit pas vraiment où et comment modifier le code..

Code:
Private Sub Impression_Click()

Application.Dialogs(xlDialogPrinterSetup).Show
    
 If Cancel = True Then
    Exit Sub
 End If
    
Range("PrintZone").PrintOut

End Sub

Merci d'avance de l'aide que vous pourrez m'apporter!
 
Dernière édition:
Re : bouton annuler d'une boite de dialogue ne stoppe pas la macro, pbl de code!

Où dois-je placer le "end"?
Le if ayant son end if et le sub son end sub.

Je ne suis pas sur de la formulation, débutant en VBA ca me semblait logique...
Code:
 If Cancel = True Then
    Exit Sub
 End If
 
Dernière édition:
Re : bouton annuler d'une boite de dialogue ne stoppe pas la macro, pbl de code!

Re,
Désolé de répondre si tard ^^'
Le End met fin à toute les procédures en cours, et réinitialise les variables. Test en le mettant à la place du End sub.

Au plaisir de te lire,


VB_T
 
Re : bouton annuler d'une boite de dialogue ne stoppe pas la macro, pbl de code!

je comprend mieux ce que tu veux dire.
La macro se termine sans problème par le "end sub", en fait, je n'arrive pas a interrompre la macro entre la selection de l'imprimante par défaut via la boite de dialogue, et l'impression de la plage "printzone". interuption qui devrait se produire lorsqu'on clique sur le bouton "annuler" de la boite de dialogue.

la formulation du cancel=true doit etre fausse mais je ne voit pas quoi mettre à la place.
 
Re : bouton annuler d'une boite de dialogue ne stoppe pas la macro, pbl de code!

c'est résolu, j'ai modifié le code, en fait c'était plutôt simple!
Code:
Private Sub Impression_Click()

 If Application.Dialogs(xlDialogPrint).Show = False Then
   Exit Sub
   Else
     Range("PrintZone").PrintOut
 End If

End Sub

merci beaucoup!
 
- 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

Retour