Bjr,
Dans un formulaire j'ai 1 combobox, 1 Listbox et 1listview. Si je selectionne SEPT dans le combobox il alimente ma listBox via une plage nommée et j'aimerais alimenté ma listview par une range par exemple [C18:I20] ou la valeur de textboxs d'un autre formulaire. Je sais remplir les lignes en définissant le contenu grace à ce code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
        'Remplissage des colonnes 2 et 3 dans la 1ere ligne
        .ListItems(1).ListSubItems.Add , , "TOTO"
        .ListItems(1).ListSubItems.Add , , 30
mais ce que je voudrais faire c un truc de ce genre:
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
53
54
55
Private Sub Cbo3_Change()

Application.ScreenUpdating = False

If Cbo3.Value = "SEPT" Then
  ListBox1.RowSource = "Noms2"

Load Rapportform
Rapportform.Controls("Cbo2").Value = "SEPT"

With ListView1
'Remplissage des colonnes 2 à 8 dans la 1ere ligne
        .ListItems(1).ListSubItems.= Rapportform.Controls("TextBox1").Value
        .ListItems(1).ListSubItems = Rapportform.Controls("TextBox2").Value
        .ListItems(1).ListSubItems = Rapportform.Controls("TextBox3").Value
        .ListItems(1).ListSubItems = Rapportform.Controls("TextBox4").Value
        .ListItems(1).ListSubItems = Rapportform.Controls("TextBox5").Value
        .ListItems(1).ListSubItems = Rapportform.Controls("TextBox6").Value
        .ListItems(1).ListSubItems = Rapportform.Controls("TextBox7").Value

        'Remplissage des colonnes 2 à 8 dans la 2eme ligne
        .ListItems(2).ListSubItems = Rapportform.Controls("TextBox8").Value
        .ListItems(2).ListSubItems = Rapportform.Controls("TextBox9").Value
        .ListItems(2).ListSubItems = Rapportform.Controls("TextBox10").Value
        .ListItems(2).ListSubItems = Rapportform.Controls("TextBox11").Value
        .ListItems(2).ListSubItems = Rapportform.Controls("TextBox12").Value
        .ListItems(2).ListSubItems = Rapportform.Controls("TextBox13").Value
        .ListItems(2).ListSubItems = Rapportform.Controls("TextBox14").Value
        
        'Remplissage des colonnes 2 à 8 dans la 3eme ligne
        .ListItems(3).ListSubItems = Rapportform.Controls("TextBox15").Value
        .ListItems(3).ListSubItems = Rapportform.Controls("TextBox16").Value
        .ListItems(3).ListSubItems = Rapportform.Controls("TextBox17").Value
        .ListItems(3).ListSubItems = Rapportform.Controls("TextBox18").Value
        .ListItems(3).ListSubItems = Rapportform.Controls("TextBox19").Value
        .ListItems(3).ListSubItems = Rapportform.Controls("TextBox20").Value
        .ListItems(3).ListSubItems = Rapportform.Controls("TextBox21").Value

End With
ElseIf Cbo3.Value = "OCT" Then
  ListBox1.RowSource = "Noms3"

Load Rapportform
Rapportform.Controls("Cbo2").Value = "OCT"

With ListView1
'Remplissage des colonnes 2 à 8 dans la 1ere ligne
        .ListItems(1).ListSubItems.= Rapportform.Controls("TextBox1").Value
End With

'ETC .......

End If

End Sub
je sais c un peu long mais c la première fois que j'utilise une listview. Comme vous vous en doutez cette ligne n'est pas bonne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
.ListItems(1).ListSubItems.= Rapportform.Controls("TextBox1").Value
Que faire? merci d'avance de votre aide