XL 2021 Problème d'impression

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 !

gui22

XLDnaute Nouveau
Bonjour à tous,

Je rencontre un petit problème lors de l'impression de mon document (je ne peux pas le partager le fichier car il est confidentiel) , j'ai pu faire une macro qui fonctionne mais le document s'imprime en double.
Voici la macro :

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Reponse
Reponse = MsgBox("Avez-vous organisé les sauts de pages ?" & ActiveSheet.[F73] & " ?", _
vbYesNo + vbCritical, "Avertissement")
If Reponse = vbYes Then
Application.EnableEvents = False
ActiveSheet.PrintPreview
Application.EnableEvents = True
Else
Cancel = True
End If
End Sub

J'aimerais savoir si le code n'est pas correcte.

Cordialement.
 
Solution
Bonjour Guy,
Lorsque vous faites Imprimer vous lancer la visualisation mais lorsque vous faites Imprimer dans la feuille de visualisation vous relancez cette même macro, donc une seconde fois.
Pour éviter ça mettez un Cancel=True juste après le PrintPreview pour invalider la seconde :
VB:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Reponse
Reponse = MsgBox("Avez-vous organisé les sauts de pages ?" & ActiveSheet.[F73] & " ?", _
vbYesNo + vbCritical, "Avertissement")
If Reponse = vbYes Then
    Application.EnableEvents = False
    ActiveSheet.PrintPreview
    Cancel = True
    Application.EnableEvents = True
Else
    Cancel = True
End If
End Sub
Bonjour Guy,
Lorsque vous faites Imprimer vous lancer la visualisation mais lorsque vous faites Imprimer dans la feuille de visualisation vous relancez cette même macro, donc une seconde fois.
Pour éviter ça mettez un Cancel=True juste après le PrintPreview pour invalider la seconde :
VB:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Reponse
Reponse = MsgBox("Avez-vous organisé les sauts de pages ?" & ActiveSheet.[F73] & " ?", _
vbYesNo + vbCritical, "Avertissement")
If Reponse = vbYes Then
    Application.EnableEvents = False
    ActiveSheet.PrintPreview
    Cancel = True
    Application.EnableEvents = True
Else
    Cancel = True
End If
End Sub
 
- 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

Réponses
5
Affichages
398
Réponses
6
Affichages
590
Réponses
4
Affichages
1 K
Réponses
8
Affichages
905
Retour