Bonjour le forum,
Voilà j'ai 3 colonnes (A,B et D) avec environ 1500 lignes, le voudrai remplir une listview qui est sur une form avec ces données.
Ce code ne me remplit que la 1ère colonne
Je vous présente mon code :
Ce code par contre fonctionne mais est incroyablement long (car il effectue une boucle par colonne) :Code:
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 Dim nbfonction As Integer, i As Integer nbfonction = Sheets("Qualifs").Range("F1").Value ListView4.ColumnHeaders.Clear ListView4.ListItems.Clear 'Alimentation des titres de colonne : ListView4.ColumnHeaders.Add , , "Code diplôme", 80, lvwColumnLeft ListView4.ColumnHeaders.Add , , "Domaine", 60, lvwColumnCenter ListView4.ColumnHeaders.Add , , "Filière", 60, lvwColumnCenter ListView4.ColumnHeaders.Add , , "Libellé diplôme", 160, lvwColumnCenter ListView4.SortOrder = lvwAscending ListView4.Sorted = True ListView4.SortKey = 0 Dim txtA As String, txtB As String, txtC As String, txtD As String For i = 2 To nbfonction + 1 txtA = Sheets("Qualifs").Range("A" & i).Value ListView4.ListItems.Add i - 1, , CStr(txtA) 'COLONNE 1 txtB = Sheets("Qualifs").Range("B" & i).Value ListView4.ListItems(i - 1).SubItems(1) = CStr(txtB) 'COLONNE 2 txtC = Sheets("Qualifs").Range("C" & i).Value ListView4.ListItems(i - 1).SubItems(3) = CStr(txtC) 'COLONNE 3 ListView4.Refresh Next i
Alors pourquoi l'un fonctionne et pas l'autre ?Code:
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 Dim nbfonction As Integer, i As Integer nbfonction = Sheets("Qualifs").Range("F1").Value ListView4.ColumnHeaders.Clear ListView4.ListItems.Clear 'Alimentation des titres de colonne : ListView4.ColumnHeaders.Add , , "Code diplôme", 80, lvwColumnLeft ListView4.ColumnHeaders.Add , , "Domaine", 60, lvwColumnCenter ListView4.ColumnHeaders.Add , , "Filière", 60, lvwColumnCenter ListView4.ColumnHeaders.Add , , "Libellé diplôme", 160, lvwColumnCenter ListView4.SortOrder = lvwAscending ListView4.Sorted = True ListView4.SortKey = 0 Dim txtA As String, txtB As String, txtC As String, txtD As String For i = 2 To nbfonction + 1 txtA = Sheets("Qualifs").Range("A" & i).Value ListView4.ListItems.Add i - 1, , CStr(txtA) ListView4.Refresh Next i For i = 2 To nbfonction + 1 txtB = Sheets("Qualifs").Range("B" & i).Value ListView4.ListItems(i - 1).SubItems(1) = CStr(txtB) ListView4.Refresh Next i For i = 2 To nbfonction + 1 txtC = Sheets("Qualifs").Range("C" & i).Value ListView4.ListItems(i - 1).SubItems(3) = CStr(txtC) ListView4.Refresh Next i
Merci de m'éclairer.