Msgbox vbYesNoCancel
Résolu
maxmen67
Messages postés
58
Statut
Membre
-
maxmen67 Messages postés 58 Statut Membre -
maxmen67 Messages postés 58 Statut Membre -
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 :
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
-
Parfait!
Je n'aurais pas pensé qu'identifier la variable "imprimer" aurait pu changer la donne.
ça m'aidera pour les prochains codes.
Merci.