VBA : Impressions assemblées avec checkbox

Thibault

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


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
 

Thibault

XLDnaute Nouveau
Re : VBA : Impressions assemblées avec checkbox

Bonjour,
Je reviens vers vos conseils car j'ai essayé de localiser le problème mais mon faible niveau en VBA ne me permet pas de la comprendre. La fonction de sélection des onglets fonctionne, tout comme celle de l'impression. Ce qui ne fonctionne apparemment pas est l'assemblage (impression en bloc, nécessaire pour les tirages multiples) alors que si j'énumère les onglets au lieu de mettre "ListBox1.List(n)", cela fonctionne.
Je pense donc que cela provient de cette synthaxe : "Sheets(Array(ListBox1.List(n)))". Si vous avez des idées, je suis preneur !
J'espère avoir été clair dans mes explications.
Merci par avance pour votre aide.
Thibault
 

Discussions similaires

Réponses
4
Affichages
261
Réponses
17
Affichages
1 K
Réponses
11
Affichages
416

Statistiques des forums

Discussions
312 964
Messages
2 094 012
Membres
105 913
dernier inscrit
FlavieL