User se fige code pour imprimer une sélection

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

  • Imprimer (1).xlsm
    24.5 KB · Affichages: 12

Phil69970

XLDnaute Barbatruc
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
 

Jacky67

XLDnaute Barbatruc
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.
Bonjour,
2 solutions
Fermer l'userform en début de macro.
Ou
Passer la propriété "ShowModal" de l'userform à "False"
 

Phil69970

XLDnaute Barbatruc
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
 

Yann71

XLDnaute Occasionnel
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 Phil69970 je te remercie pour ton aide, je valide ton premier code je vais pouvoir l'adapter à mon classeur.
 

Discussions similaires

Réponses
13
Affichages
3 K

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T