Msgbox vbYesNoCancel
Résolu
maxmen67
Messages postés
56
Date d'inscription
Statut
Membre
Dernière intervention
-
maxmen67 Messages postés 56 Date d'inscription Statut Membre Dernière intervention -
maxmen67 Messages postés 56 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je viens de réaliser un petit code qui permet l'impression d'un formulaire excel par simple clic sur un bouton.
Lorsque la macro est exécutée, un msgbox ( avec 3 choix: oui, non, annuler ) s'ouvre et permet de choisir si on veut imprimer 1 ou 2 pages du formulaire.
Jusque là tout fonctionne...
Le problème est lorsqu'on clic sur annuler, la macro est censée s'arrêter "Exit sub", mais contre toute attente, une page est quand même imprimée...
Voir code ci-dessous:
Aurais-je omis une erreur de syntaxe ?
Merci d'avance!
Je viens de réaliser un petit code qui permet l'impression d'un formulaire excel par simple clic sur un bouton.
Lorsque la macro est exécutée, un msgbox ( avec 3 choix: oui, non, annuler ) s'ouvre et permet de choisir si on veut imprimer 1 ou 2 pages du formulaire.
Jusque là tout fonctionne...
Le problème est lorsqu'on clic sur annuler, la macro est censée s'arrêter "Exit sub", mais contre toute attente, une page est quand même imprimée...
Voir code ci-dessous:
Sub impr() ' imprimer Macro If MsgBox("Imprimer la page photos ?", vbYesNoCancel, "Impression") = vbYes Then ActiveWindow.SelectedSheets.PrintOut From:=1, To:=2, Copies:=1, Collate:=True, IgnorePrintAreas:=False Else If vbNo Then ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate:=True, IgnorePrintAreas:=False If vbCancel Then Exit Sub End If End If End If End Sub
Aurais-je omis une erreur de syntaxe ?
Merci d'avance!
2 réponses
Bonjour,
Oui...
Essayes ceci :
Oui...
Essayes ceci :
Sub impr() Dim imprimer ' imprimer Macro imprimer = MsgBox("Imprimer la page photos ?", vbYesNoCancel, "Impression") If imprimer = vbYes Then ActiveWindow.SelectedSheets.PrintOut From:=1, To:=2, Copies:=1, Collate:=True, IgnorePrintAreas:=False ElseIf imprimer = vbNo Then ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate:=True, IgnorePrintAreas:=False ElseIf imprimer = vbCancel Then Exit Sub End If End Sub