Imprimer une sélection de feuilles Excel dans un seul doc

Bonjour,

J'ai mis en place un code vba pour imprimer des zones de feuilles au choix dans un seul document. Mais ce code ne fonctionne pas.

Description de la Procédure:

Mon fichier comporte 5 feuilles de travail. Sur chaque feuille, j'ai défini une zone d'impression.

Par ailleurs, il existe une feuille supplémentaire que j'ai nommé "Impressions". Sur la feuille "Impressions", j'ai listé les 5 feuilles de travail en mettant un bouton CheckBox à chaque ligne (Contrôle Activex). L'utilisateur peut alors choisir les feuilles qu'il veut imprimer en cochant la case. Par la suite, l'utilisateur entre dans un champ TexBox (Contrôle Activex) un numéro de page (c'est le premier numéro de page du document imprimé). Enfin, il clique sur le bouton "Imprimer" (Contrôle Activex). Après avoir cliqué sur le bouton "Imprimer", une boîte de dialogue s'affiche afin de lui permettre de choisir une imprimante; l'utilisateur choisit l'imprimante et clique sur le bouton Ok de la boîte de dialogue, l'impression est lancée.

Le code vba pour la procédure ci-dessus est le suivant (code inséré dans la feuille "Impressions"):

 Private Sub MiseEnPageImpression(Feuille, UneOrientation)
'Mise en page avant impression d'une feuille de calcul
'UneOrientation=0 ne rien faire
'UneOrientation=1 forcer en paysage
'UneOrientation=2 forcer en portrait
    On Error Resume Next

    Worksheets.Item(Feuille).PageSetup.RightHeader = ""
    Worksheets.Item(Feuille).PageSetup.LeftHeader = "" + Chr(10) & "&G"
    Worksheets.Item(Feuille).PageSetup.CenterFooter = ""
    Worksheets.Item(Feuille).PageSetup.RightFooter = "&P"
    Worksheets.Item(Feuille).PageSetup.LeftFooter = ""
    Worksheets.Item(Feuille).PageSetup.FirstPageNumber = TextBoxNumeroPage.Value
    Worksheets.Item(Feuille).PageSetup.Zoom = False
    If UneOrientation = 1 Then
        Worksheets.Item(Feuille).PageSetup.Orientation = xlLandscape
    End If
    If UneOrientation = 2 Then
        Worksheets.Item(Feuille).PageSetup.Orientation = xlPortrait
    End If
End Sub

Public Sub ImprimerZonePage(Feuille, PlageStr As String, Orientation)
'Imprimer une zone dans une page d'une feuille de calcul
    Dim Plage As Range

    Call MiseEnPageImpression(Feuille, Orientation)
    NumeroPage = NumeroPage + 1
    Set Plage = Worksheets.Item(Feuille).Range(PlageStr)
    Plage.PrintOut
End Sub

Private Sub CheckBoxReport_Click()
    If CheckBoxReport.Value Then
        CheckBox1.Value = True
        CheckBox2.Value = True
        CheckBox3.Value = True
        CheckBox4.Value = True
        CheckBox5.Value = True
    Else
        CheckBox1.Value = False
        CheckBox2.Value = False
        CheckBox3.Value = False
        CheckBox4.Value = False
        CheckBox5.Value = False
     End If

End Sub

Private Sub BoutonImprimer_Click()

    Application.Dialogs(xlDialogPrinterSetup).Show

    Application.StatusBar = "Impression en cours...patientez"
    NumeroPage = TextBoxNumeroPage

    If CheckBox1.Value = True Then
        Call ImprimerZonePage(("Report_1"), "$A$1:$N$90", 0)
    End If
    If CheckBox2.Value = True Then
        Call ImprimerZonePage(("Report_2"), "$A$1:$N$90", 0)
    End If
    If CheckBox3.Value = True Then
        Call ImprimerZonePage(("Report_3"), "$A$1:$N$90", 0)
    End If
    If CheckBox4.Value = True Then
        Call ImprimerZonePage(("Report_4"), "$A$1:$N$90", 0)
    End If
    If CheckBox5.Value = True Then
        Call ImprimerZonePage(("Report_5"), "$A$1:$N$90", 0)
    End If

    Worksheets.Item("Impressions").Activate
    Application.StatusBar = ""

End Sub

J'ai essayé d'imprimer 2 feuilles avec PDFCreator, mais voici se qui se passe:

1- J'obtiens 2 documents PDF d'une page chacun au lieu d'un PDF de deux pages.

2- Les numéros de page ne s'incrémentent pas. Chaque page conserve le même numéro entré par l'utlisateur (probablement la conséquence du problème 1 ci-dessus).

3- En cliquant sur le bouton "Annuler" dans la boîte de dialogue qui permet de choisir une imprimante, l'impression est quand même lancée.

Besoin d'aide SVP.

PS: Peut on afficher un message d'erreur quand l'utilisateur clique sur le bouton "Imprimer" sans avoir sélectionné une feuille ?

Rechercher des sujets similaires à "imprimer selection feuilles seul doc"