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 :
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