Bonjour tout le monde,

ci dessous le code pour remplir ma listview

Je souhaite remplir la première colonne avec un textbox
La deuxième avec des items selectionnés dans ma listbox
et 8 autres avec des données d'une feuille de calcul

j'ai alors essayé ce code avec lequel j'espérais qu'il me multiplie les lignes par le nombre d'items selectionnés

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 For i = LBound(lofc, 1) To UBound(lofc, 1)
.ListItems.Add , , Numlofc
        For X = 0 To Lb_eqptlofc.ListCount - 1
            If Lb_eqptlofc.Selected(X) = True Then
           .ListItems(i).ListSubItems.Add , , Lb_eqptlofc.List(X)
                 For j = 3 To 10
                 .ListItems(i).ListSubItems.Add , , lofc(i, j)
                 Next
            End If
        Next
 Next
Par exemple j'ai 8 colonnes et 10 lignes sur ma feuille avec laquelle je rempli ma listview,
Or je selectionne 2 items dans ma listbox

je voudrais donc 10 colonnes de 20 lignes dans ma listview = ( 8 colonnes de ma feuille de calcul + 1 pour le ou les items selectionné(s) + 1 pour le texte en textbox ) et (10lignes * 2 items)

Je n'arrive pas à obtenir ce resultat

Merci d'avance

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
46
47
48
49
50
51
52
 
Private Sub UserForm_Activate()
Dim derl%
Dim lofc()
Dim i%
Dim X As Integer
 
Set o = Worksheets("menu").LB_eqpt
 
derl = Worksheets("NewLOFC").Cells(Rows.Count, 3).End(xlUp).Row
lofc = Worksheets("NewLOFC").Range("A2:J2" & derl).Value
    '----- remplissage ListView------------------------
    With ListView1
        'Définit le nombre de colonnes et Entêtes
        With .ColumnHeaders
            'Supprime les anciens entêtes
            .Clear
            'Ajoute 3 colonnes en spécifiant le nom de l'entête
            'et la largeur des colonnes
            .Add , , "n_lofc", 44
            .Add , , "n_eqpt", 44
            .Add , , "n_op", 41
            .Add , , "design_Op", 42
            .Add , , "exs_sur", 42
            .Add , , "fab", 42
            .Add , , "surv_lot1", 42
            .Add , , "MOE", 42
            .Add , , "MOA", 42
            .Add , , "ONA", 42
        End With
        .View = lvwReport                                                         ' Affichage en mode Rapport
        .Gridlines = True                                                         ' Affichage d'un quadrillage
        .FullRowSelect = True
 
        For i = LBound(lofc, 1) To UBound(lofc, 1)
        .ListItems.Add , , Numlofc
        For X = 0 To Lb_eqptlofc.ListCount - 1
        If Lb_eqptlofc.Selected(X) = True Then
        .ListItems(i).ListSubItems.Add , , Lb_eqptlofc.List(X)
        For j = 3 To 10
        .ListItems(i).ListSubItems.Add , , lofc(i, j)
        Next
        End If
        Next
        Next
 
    End With
    '--------------------------------------------------
    'Spécifie l'affichage en mode "Détails"
    ListView1.View = lvwReport
    ListView1.LabelEdit = 1
End Sub