Bonjour, ou rebonjour !
Voilà toujours pour le même projet, le problème est que lorsque que je créer mes ListView dynamiquement et que je les stocke dans un tableau de ListView. je ne plus rien modifier.
Avant j'utilisé ce principe avec listBox et cela marché.
je ne comprend pas bien d'où peut provenir ce soucis, je n'ai aucun message d'erreurs.
Voici le code en question : en sachant que j'ai créer une variable globale pour avoir accès à mes listView dans n'importe quel fonction du userform.
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 |
le but de ce programme est que quelque soit le fichier excel utilisé celui-ci doit pouvoir s'adapter en conséquence d'où le faites que je doit tout créer sur le tas.
Merci de bien vouloir m'aider,
Cordialement
je viens de voir quand ajoutant un item :
tabList(0).ListItems.Add , , "test"
Puis en essayant de l'afficher en msgBox, celui ci s'affiche. Cependant il n'appartait pas dans la l'affichage de la listeView.
j'avoue ne pas trop comprendre..
Partager