Empêcher l'impression

Bonjour le forum

j'essaie d'intercepter l'impression afin que l'utilisateur ne puisse pas imprimer mais soit obligé d'utilise un bouton que j'ai mis sur mon formulaire.

pour se faire, j'utilise ce code. J'ai lu que en mettant "Cancel" à True ça empêchait l'impression.

Sauf que lorsque j'essaie d'imprimer, ça ne change strictement rien.

Je n'ai pas l'habitude de la gestion des évenements donc.. c'est peut être quelque chose que je fait faux ?

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Cancel = True
    If Cancel = True Then MsgBox "Merci de ne pas imprimer. Utilisez le bouton <Envoyer> "
End Sub

Merci pour vos propositions

Bonjour Zohnya, bonjour le forum

Ton code devrait fonctionner mais je l'écrirais plutôt comme ça :

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = True
MsgBox "Merci d'utiliser le bouton prévu à cet effet pour imprimer !"
End Sub

Salut ThauThème,

merci pour ta réponse mais bizarrement je ne vois pas ma MsgBox s'afficher quand j'essaie d'imprimer.

Est-ce que ça marche également avec l'impression en pdf ?

cordialement

Re,

Tout dépend de comment tu crées le PDF. Si c'est par impression avec une imprimante PDF virtuelle (Adobe PDF par exemple), alors oui ça devrait marcher. Il faut aussi que les macro événementielles soient activées. Vérifie qu'à aucun moment tu n'as, quelque part, dans le code un Application.EnableEvents = False. Rajoute le code ci-dessous et regarde ce que ça donne :

Private Sub Workbook_Open()
Application.EnableEvents = True
End Sub

même en rajoutant

Private Sub Workbook_Open()
Application.EnableEvents = True
End Sub

ça ne change rien. L'impression est toujours possible

je te joins une version anonyme de mon fichier (du coup ça fait un peu vide, désolée ^^') . Peut être que ça vient de mon pc ?

Pourrais-tu tester si ça fonctionne chez toi ?

Cordialement

Zoh

Re,

Heu! ...Comprend plus rien là ?! Le seul bouton c'est Envoyer par mail et aucun code relatif à l'impression ?!...

Ha pardon j'ai peut être mal expliqué.

Je ne veux pas qu'ils puissent imprimer. Seulement me l'envoyer par mail. s'ils l'impriment en PDF ou encore pire, en version papier, je dois tout retaper dans une version excel car j'ai une autre macro dans un autre fichier qui va récupérer les valeurs des différents formulaires. ça ne marche pas si c'est en version PDF ou en version papier .

C'est pour cette raison que je ne veux pas permettre l'impression. (Et pourquoi ils l'imprimeraient en plus ? y'a un bouton flemme qui leur mâche le travail).

Re,

Arf ! C'est plus clair... Mais comme tu n'avais pas mis le code BeforePrint je ne comprenais pas...

Chez moi ça marche. Ça n'imprime pas...

Ton fichier modifié :

11zohnya-v02.xlsm (29.38 Ko)

ha heuuu ta version fonctionne chez moi mais ... je ne vois pas de différence avec la mienne t'as changé quoi exactement ? (que je puisse le reproduire sur la version complète).

Haaaaaaa c'est bon j'ai trouvé !!

Enfaite, j'avais mis le code à la mauvaise place. Je l'avais mis dans Feuil1 mais il fallait le mettre dans WorkBook ^-^

Merci ThauThème

Rechercher des sujets similaires à "empecher impression"