Bonjour,
Après avoir recherché sur différents forums en vain, j'ai toujours un problème d'assemblage lors de l'impression de différentes feuilles (au sein du même classeur).
Avec un userform trouvé sur le net et légèrement modifié (code ci-dessous), j'ai une interface (checkbox) me permettant de selectionner les feuilles que je souhaite imprimer. Cette interface fonctionne très bien mais ne permet pas, lors d'impressions de plusieurs exemplaires, d'utiliser la fonction d'assemblage (Collate) alors que celle-ci semble activée.
Avez-vous une idée de l'origine du problème ? Avez-vous une idée de solution ?
Merci d'avance.
Thibault
Après avoir recherché sur différents forums en vain, j'ai toujours un problème d'assemblage lors de l'impression de différentes feuilles (au sein du même classeur).
Avec un userform trouvé sur le net et légèrement modifié (code ci-dessous), j'ai une interface (checkbox) me permettant de selectionner les feuilles que je souhaite imprimer. Cette interface fonctionne très bien mais ne permet pas, lors d'impressions de plusieurs exemplaires, d'utiliser la fonction d'assemblage (Collate) alors que celle-ci semble activée.
Avez-vous une idée de l'origine du problème ? Avez-vous une idée de solution ?
Merci d'avance.
Thibault
Code:
Option Explicit
Dim n As Byte, Nb As Byte
Private Sub ComboBox1_Change()
End Sub
Private Sub ListBox1_Click()
End Sub
Private Sub UserForm_initialize()
Dim i As Byte
For i = 1 To 10
ComboBox1.AddItem i
Next i
'Alimentation en données de la combobox
ComboBox1.ListIndex = 0
'L'index 0 correspond à la première donnée contenue dans le ComboBox
For n = 2 To Sheets.Count
ListBox1.AddItem Sheets(n).Name
Next
Nb = ListBox1.ListCount - 1
End Sub
Private Sub Tout_Click()
For n = 0 To Nb
ListBox1.Selected(n) = True
Next
End Sub
Private Sub Rien_Click()
For n = 0 To Nb
ListBox1.Selected(n) = False
Next
End Sub
Private Sub OK_Click()
Dim Texte As String
For n = 0 To Nb
If ListBox1.Selected(n) = True Then
Me.Hide
'voir avant d'imprimer, avec : ShowModal=False !
'Sheets(ListBox1.List(n)).PrintPreview
Sheets(Array(ListBox1.List(n))).PrintOut Copies:=ComboBox1.Value, Collate:=True
Imprimer.Show
End If
Next
Unload Me
End Sub
Private Sub Annuler_Click()
Unload Me
End Sub