ListBox MultiPage

Bonjour à tous,

Encore une fois, j'ai besoin de votre aide

Dans mon fichier, il y a un UserForm MultiPage

Sur la première page il y a une sélection de feuilles que j'ai indiquées avec ce code:

Private Sub UserForm_Initialize()
    Dim S As Worksheet
    sh = Array("Index", "Paramètres", "Feuil4", "Feuil5", "Feuil6")
    ListBox1.MultiSelect = fmMultiSelectExtended
    For Each S In Worksheets
        t = Application.Match(S.Name, sh, 0)
        If IsError(t) Then
            ListBox1.AddItem S.Name
        End If
    Next
    TextBox1 = 0
End Sub

Je voudrais faire de même pour la page 2

mais qui s'affichera d' autre feuille

sh = Array("Index", "Paramètres", "Feuil1", "Feuil2", "Feuil3")

Je suis un noob en VBA

je joins un fichier qui vous permettra de mieux comprendre.

Merci d'avance pour votre aide.

Bonjour,

J'ai renommé les boutons que pour démontrer que ce ne sont pas les même dans une page ou dans l'autre.

Un essai ...

ric

bonsoir,

Autre possibilité en pièce jointe

49projet-test-vg.xlsm (48.63 Ko)

Ce qui est intéresant , ce n'est pas la manière dont tu charges tes listes, mais le reste...

A+

Bonjour à tous,

Merci galopin01 et ric pour votre aide précieuse.

galopin01, tes codes ont l’air d’être plus adapté pour la suite de mon projet.

Le code "Enregistrer_1_seul_PDF"

Private Sub Enregistrer_1_seul_PDF_Click()   'A corriger en conséquence
'Dim k  As Long
'    Dim varrSelected() As Variant
'
'
'    For i = 0 To ListBox1.ListCount - 1
'        If ListBox1.Selected(i) Then
'
'            ReDim Preserve varrSelected(0 To 1, 0 To k)
'            varrSelected(0, k) = ListBox1.List(i)
'            varrSelected(1, k) = ThisWorkbook.Sheets(varrSelected(0, k)).Visible
'            ThisWorkbook.Sheets(varrSelected(0, k)).Visible = xlSheetVisible
'        End If
'    Next i
'    If k > -1 Then
'        Set shActiv = ActiveSheet
'        varrToSave = Mid(varrToSave, 2)
'        varrToSave = Split(varrToSave, "/")
'        ThisWorkbook.Sheets(varrToSave).Select
'        'Feuil2 is a CodeName of "Parametres" sheet
'        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\Deus\Desktop\Projet vierge\" & Feuil2.Range("C2").Value & ".pdf"
'        shActiv.Select
'        For i = 0 To UBound(varrSelected, 2)
'            ThisWorkbook.Sheets(varrSelected(0, i)).Visible = varrSelected(1, i)
'        Next i
'        MsgBox "Selected sheets were saved in a PDF file.", vbInformation
'    End If
'    Application.ScreenUpdating = True
End Sub

ne sert plus à rien ?

Il m’était bien pratique pour imprimer les feuilles dans un seul PDF (mon fichier d'origine contient plus de vingt feuilles et je ne veux pas gaspiller les feuilles et l'encre pour les tests.

Merci

Bonsoir,

Je t'avais un peu zappé... Vu qu'elle n'est raccordé à rien du tout, je ne voyais pas trop ce qu'elle vient faire la dedans.

Si c'est juste pour faire des test tu fais tes PrintOut avec Preview :=True et tu Echap pour ne pas imprimer...

sinon, je n'est pas testé parce que c'est un peu barbare, mais tu peux tenter :

Private Sub Imprim(Y As Boolean)
Dim k&, Ctrl As Control
Me.Hide
   For Each Ctrl In Me.Controls
      If TypeOf Ctrl Is MSForms.ListBox Then
         For k = 0 To Ctrl.ListCount - 1
            If Ctrl.Selected(k) Then
               With Sheets(Ctrl.List(k))
                  .Visible = 1
                  .ExportAsFixedFormat Type:=xlTypePDF, Filename:...blabla !!!
                  .PrintOut Preview:=Y, Copies:=TextBox1.Value
                  On Error Resume Next 'corrige un bug de synchronisation
                  .Visible = xlSheetHidden
               End With
            End If
         Next
      End If
   Next
   InitList
Me.Show
End Sub

A+

Rechercher des sujets similaires à "listbox multipage"