Bonjour le forum,
En général les lignes qui alimentent une listview sont disposées verticalement dans la feuille des données, dans mon cas elles sont disposées horizontalement par franges de 7
Pour l’instant j’arrive à alimenter la listview, mais pour faire le chemin inverse, je le fais avec un code trop long qu'il faudrait changer par des boucles que je n'arrive pas à faire
Par avance, merci pour l'aide que vous pourriez m'apporter !
Le code est le suivant :
Cordialement, Kim.
En général les lignes qui alimentent une listview sont disposées verticalement dans la feuille des données, dans mon cas elles sont disposées horizontalement par franges de 7
Pour l’instant j’arrive à alimenter la listview, mais pour faire le chemin inverse, je le fais avec un code trop long qu'il faudrait changer par des boucles que je n'arrive pas à faire
Par avance, merci pour l'aide que vous pourriez m'apporter !
Code:
Private Sub CommandButton1_Click()
Dim Sh As Worksheet, Li As Long, c As Integer, i As Integer, j As Integer
Set Sh = Sheets("Test")
Li = Sh.[B:B].Find(ListBox1, LookIn:=xlValues).Row
Sh.Cells(Li, 15) = ListView1.ListItems(1).Text
Sh.Cells(Li, 16) = ListView1.ListItems(1).ListSubItems(1).Text
Sh.Cells(Li, 17) = ListView1.ListItems(1).ListSubItems(2).Text
Sh.Cells(Li, 18) = ListView1.ListItems(1).ListSubItems(3).Text
Sh.Cells(Li, 19) = ListView1.ListItems(1).ListSubItems(4).Text
Sh.Cells(Li, 20) = ListView1.ListItems(1).ListSubItems(5).Text
Sh.Cells(Li, 21) = ListView1.ListItems(1).ListSubItems(6).Text
Sh.Cells(Li, 22) = ListView1.ListItems(2).Text
Sh.Cells(Li, 23) = ListView1.ListItems(2).ListSubItems(1).Text
Sh.Cells(Li, 24) = ListView1.ListItems(2).ListSubItems(2).Text
Sh.Cells(Li, 25) = ListView1.ListItems(2).ListSubItems(3).Text
Sh.Cells(Li, 26) = ListView1.ListItems(2).ListSubItems(4).Text
Sh.Cells(Li, 27) = ListView1.ListItems(2).ListSubItems(5).Text
Sh.Cells(Li, 28) = ListView1.ListItems(2).ListSubItems(6).Text
Sh.Cells(Li, 29) = ListView1.ListItems(3).Text
Sh.Cells(Li, 30) = ListView1.ListItems(3).ListSubItems(1).Text
Sh.Cells(Li, 31) = ListView1.ListItems(3).ListSubItems(2).Text
Sh.Cells(Li, 32) = ListView1.ListItems(3).ListSubItems(3).Text
Sh.Cells(Li, 33) = ListView1.ListItems(3).ListSubItems(4).Text
Sh.Cells(Li, 34) = ListView1.ListItems(3).ListSubItems(5).Text
Sh.Cells(Li, 35) = ListView1.ListItems(3).ListSubItems(6).Text
Sh.Cells(Li, 36) = ListView1.ListItems(4).Text
Sh.Cells(Li, 37) = ListView1.ListItems(4).ListSubItems(1).Text
Sh.Cells(Li, 38) = ListView1.ListItems(4).ListSubItems(2).Text
Sh.Cells(Li, 39) = ListView1.ListItems(4).ListSubItems(3).Text
Sh.Cells(Li, 40) = ListView1.ListItems(4).ListSubItems(4).Text
Sh.Cells(Li, 41) = ListView1.ListItems(4).ListSubItems(5).Text
Sh.Cells(Li, 42) = ListView1.ListItems(4).ListSubItems(6).Text
Unload Me
End Sub
Le code est le suivant :
Code:
Private Sub CommandButton1_Click()
Dim Sh As Worksheet, Li As Long, c As Long, i As Long, j As Long
Set Sh = Sheets("Test")
Li = Sh.[B:B].Find(ListBox1, LookIn:=xlValues).Row
For c = 15 To 42 Step 7
i = i + 1
Sh.Cells(Li, c) = ListView1.ListItems(i).Text
For j = 1 To 6
Sh.Cells(Li, c + j) = ListView1.ListItems(i).ListSubItems(j).Text
Next j
Next c
Unload Me
End Sub
Cordialement, Kim.
Pièces jointes
Dernière édition: