Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

User se fige code pour imprimer une sélection

  • Initiateur de la discussion Initiateur de la discussion Yann71
  • Date de début Date de début

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 !

Yann71

XLDnaute Occasionnel
Bonjour la com, comment allez-vous suite à cette situation peut évidente.
J'ai un petit problème dont je n'arrive à trouver la solution. J'ai un bouton dans un Userform qui me permet de pouvoir imprimer une sélection déterminée d'une feuille. Lorsque l'user s'ouvre et que l'on clic sur "IMPRIMER", c'est là que les problèmes surgissent, l'user reste figé sur ma fenêtre de l'aperçu avant impression. Je suis donc obligé de fermer le classeur par le gestionnaire des tâches. Le rond à un code pour imprimer la sélection celui-ci fonctionne parfaitement, et le rectangle ouvre un user ou se trouve un bouton avec le même code que le rond. Merci pour votre futur aide.
 

Pièces jointes

Bonjour Yann71, le forum

En fait il faut décharger ton formulaire
VB:
Private Sub CommandButton1_Click()
    Dim n%
    With ActiveSheet
        n = WorksheetFunction.Max(.Columns("A"))
        .PageSetup.PrintArea = "b1:D13"
        Unload UserForm1  'Décharge le formulaire
        .PrintPreview
    End With
End Sub
Cordialement
 
Bonjour,
2 solutions
Fermer l'userform en début de macro.
Ou
Passer la propriété "ShowModal" de l'userform à "False"
 
Bonjour, merci pour tes solutions. Ce qui concerne le fait de fermer mon user c'est impossible il reste figé et de ce qui concerne "ShowModal" il est déjà sur "False". Regarde l'exemple sur mon fichier joint
 
Bonjour Yann71 et Jacky67

Et avec cette variante tu fermes le formulaire pendant l'impression et tu le ré ouvres après .
VB:
Private Sub CommandButton1_Click()
Dim n%
Unload UserForm1  'Décharge le formulaire  
    With ActiveSheet
        n = WorksheetFunction.Max(.Columns("A"))
        .PageSetup.PrintArea = "b1:D13"
        .PrintPreview
    End With
UserForm1.show  
End Sub
Cordialement
 
Bonjour Phil69970 je te remercie pour ton aide, je valide ton premier code je vais pouvoir l'adapter à mon classeur.
 
- 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
13
Affichages
4 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…