1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| Private Sub UserForm_Initialize()
'Initialisation de l'interface opérateur
'Le nombre d'onglet est calculé
NbOnglet = ActiveWorkbook.Sheets.Count
' // Partie multipage
'Redimensionnement du tableau
ReDim Preserve tabList(0 To NbOnglet)
'Nom des colonnes
ReDim nomCol(0, 0 To 16)
For i = 1 To 15
nomCol(0, i - 1) = Cells(1, i).Value
Next i
'j'ajoute au MultiPage une nouvelle page pour pouvoir la parcourir
MultiPage1.Pages.Add
'on prend le nom du premier onglet du fichier et on lui affecte
MultiPage1.Pages.Item(0).Caption = Worksheets(1).Name
For i = 1 To NbOnglet
'On stocke les noms des autres onglets dans un tableau
nomOnglet(i - 1) = Worksheets(i).Name
'on crée une nouvelle page
MultiPage1.Pages.Add
'On parcours l'ensemble des pages
For j = 1 To MultiPage1.Count - 1
'On change le nom des onglets
MultiPage1.Pages.Item(j).Caption = nomOnglet(j)
'on affecte dans un tableau de ListView les différentes listView
Set tabList(i - 1) = MultiPage1.Pages.Item(j - 1).Controls.Add("MsComCtlLib.ListViewCtrl.2", "ListView" & i)
'On paramêtre les listeViews
With tabList(i - 1)
For x = 1 To 15
.ColumnHeaders.Add , , nomCol(0, x - 1), 100
Next x
.View = lvwReport
.Width = 363
.Height = 102
End With
Next j
Next i
'On supprime la dernière page qui est en trop
MultiPage1.Pages.Remove (MultiPage1.Count - 1)
End Sub |