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

Userform imprimer plusieurs pages

  • Initiateur de la discussion Initiateur de la discussion marjo_38
  • 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 !

marjo_38

XLDnaute Nouveau
Bonjour,

J'ai un fichier excel où je crée des factures. Il y a un userform pour imprimer ces factures dans lequel j'indique le nombre de duplicata et d'original que je souhaites imprimer. Cependant,il arrive que cette facture soit sur 2 pages et il y a toujours plusieurs exemplaires et je voudrais que la page 1 et la page 2 sortent à la suite et non plusieurs pages 1 et plusieurs pages 2.
Voici ma macro :

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Imprimer.Hide
Range("T1").Value = Imprimer.ComboBox1.Value
Range("T2").Value = Imprimer.ComboBox2.Value
If Imprimer.ComboBox1.Value <> "" Then
Range("c4😱69").Select
Range("m5") = "[Duplicata]"
Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
Selection.PrintOut Copies:=[T1], Collate:=True
If Range("F31") <> "" Then
Range("c73:O139").Select
Range("m5") = "[Duplicata]"
Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
Selection.PrintOut Copies:=[T1], Collate:=True
End If
If Range("F131") <> "" Then
Else: Range("T1") = ""
End If
If Imprimer.ComboBox2.Value = "" Then
Range("T2") = ""
ElseIf ComboBox2.Value <> "" Then
Range("M5") = "[Original]"
Range("c4😱69").Select
Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
Selection.PrintOut Copies:=[T2], Collate:=True
If Range("F131") <> "" Then
Range("M5") = "[Original]"
Range("c73😱139").Select
Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
Selection.PrintOut Copies:=[T2], Collate:=True
End If
Range("A3").Select
End Sub

Merci pour votre aide.

Marjo_38
 
Re : Userform imprimer plusieurs pages

Bonsoir,
pas évident, sans fichier....
Regarde l'idée suivante :

Code:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Imprimer.Hide
Range("T1").Value = Imprimer.ComboBox1.Value
Range("T2").Value = Imprimer.ComboBox2.Value
If Imprimer.ComboBox1.Value <> "" Then
    With ActiveSheet
        .PageSetup.PrintArea = "$C$4:$O$69"
        Range("M5") = "[Duplicata]"
Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
        For y = 1 To [T1]
            For x = 1 To .HPageBreaks.Count + 1
                .PrintOut From:=x, To:=x, Copies:=1, Collate:=True
            Next x
        Next y
    End With
End If
If Range("F31") <> "" Then
    With ActiveSheet
        .PageSetup.PrintArea = "$C$73:$O$139"
        Range("M5") = "[Duplicata]"
Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
        For y = 1 To [T1]
            For x = 1 To .HPageBreaks.Count + 1
                .PrintOut From:=x, To:=x, Copies:=1, Collate:=True
            Next x
        Next y
    End With
End If
If Range("F131") <> "" Then
Else: Range("T1") = ""
End If
If Imprimer.ComboBox2.Value = "" Then
Range("T2") = ""
ElseIf ComboBox2.Value <> "" Then
Range("M5") = "[Original]"
    With ActiveSheet
        .PageSetup.PrintArea = "$C$4:$O$69"
Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
        For y = 1 To [T2]
            For x = 1 To .HPageBreaks.Count + 1
                .PrintOut From:=x, To:=x, Copies:=1, Collate:=True
            Next x
        Next y
    End With
If Range("F131") <> "" Then
    With ActiveSheet
        .PageSetup.PrintArea = "$C$73:$O$139"
        Range("M5") = "[Original]"
Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
        For y = 1 To [T2]
            For x = 1 To .HPageBreaks.Count + 1
                .PrintOut From:=x, To:=x, Copies:=1, Collate:=True
            Next x
        Next y
    End With
End If
End If
Range("A3").Select
End Sub

Peut-être.....
 
Dernière édition:
Re : Userform imprimer plusieurs pages

Bonjour à tous,
Bienvenue à marjo_38 🙂,

Tu es entre de bonnes mains avec BH²
Tu as deux avantages : ton âge et ton département, si tant est que le _38 soit pour l'Isère...

Deux chiffres qu'il apprécie particulièrement ( 23 pour l'âge et le 38 pour le département)

A++ mon ami BH² 🙂
A+ marjo_38 😉
A+ à tous
 
Re : Userform imprimer plusieurs pages

Bonjour,

J'ai essayé ton code mais ca ne marche pas comme je voudrais.
J'ai essayé d'imprimer mais les pages 1 sortent toutes à la suite et ensuite toutes les pages 2.
Il m'arrive souvent d'avoir 10 exemplaires et c'est pour ne pas avoir à les remettre dans l'ordre à chaque fois.
Je ne peux pas joindre de fichier car c'est confidentiel mais j'ai modifié un peu mon code pour plus de compréhénsion.

Code:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Imprimer.Hide
'Nombre d'impression en duplicata
Range("T1").Value = Imprimer.ComboBox1.Value
'Nombre d'impression en original
Range("T2").Value = Imprimer.ComboBox2.Value
If Imprimer.ComboBox1.Value <> "" Then
   Range("Page1").Select
    Range("m5") = "[Duplicata]"
    Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
    Selection.PrintOut Copies:=[T1], Collate:=True
    End If
    'Si 2ème page à imprimer en duplicata
    If Range("F131") <> "" Then
     Range("Page2").Select
    Range("m5") = "[Duplicata]"
    Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
    Selection.PrintOut Copies:=[T1], Collate:=True
    End If
    If Imprimer.ComboBox2.Value = "" Then
    Range("T2") = ""
    ElseIf ComboBox2.Value <> "" Then
    Range("M5") = "[Original]"
    Range("Page1").Select
    Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
    Selection.PrintOut Copies:=[T2], Collate:=True
    'Si 2ème page à imprimer en original
    If Range("F131") <> "" Then
     Range("M5") = "[Original]"
 Range("Page2").Select
    Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
    Selection.PrintOut Copies:=[T2], Collate:=True
     End If
     End If
    Range("A3").Select
End Sub
 
Re : Userform imprimer plusieurs pages

Bonjour à tous, le Forum,
As-tu vérifié que dans :
Fichier, Imprimer
Dans la zone Impression, que la case copies assemblées soit cochée
Amicalement
Bonne journée à tous
 
Re : Userform imprimer plusieurs pages

Bonjour NoviceAG,

Oui copie assemblée est coché. Mon problème ne dépend pas de ca.
Mais ca y est j'ai trouvé un code qui me permet d'imprimer page 1 puis page 2 le voici au cas ou ca puisse servir à quelqu'un :

Code:
Private Sub CommandButton1_Click()
Dim Nbdup As Byte, Nbori As Byte
 
Imprimer.Hide
Application.ScreenUpdating = False
 
'Nombre d'impression en duplicata
Nbdup = Imprimer.ComboBox1.Value
'Nombre d'impression en original
Nbori = Imprimer.ComboBox2.Value
 
'Sélection de la plage à imprimer
If Range("F131") <> "" Then
    Range("Page1, Page2").Select
Else
    Range("Page1").Select
End If
 
'Impression duplicata
If Nbdup > 0 Then
    Range("m5") = "[Duplicata]"
    Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
    Selection.PrintOut Copies:=Nbdup, Collate:=True
End If
 
'Impression original
If Nbori > 0 Then
    Range("m5") = "[Original]"
    Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
    Selection.PrintOut Copies:=Nbori, Collate:=True
End If
 
Range("A3").Select
Application.ScreenUpdating = True
 
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
937
Réponses
0
Affichages
647
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…