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
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+