XL 2010 remplir listview lignes et colonnes avec un seul ligne horizontale

yahya belbachir

XLDnaute Occasionnel
Bonjour
je demande tout mes excuses au sujet de ce fichier que j'ai déjà déposé,mais je n'ai pas réussi à trouver une solution.
le fait que j'ai presque réussi de trouver une solution, mais très très long,peut cela exige une variable pour remplir une listview par une seul ligne horizontale en fonction de combobox. pour qu'il m'affiche le résultat.
le code est ceci
Private Sub InitList(Choix, C)
Dim sh As Object
Set .......etc..
Dim L .....
Dim J As ....etc..
With ListView1
..
.....etc..
..
P = 9
If UCase(sh.Cells(L, C).Text) Like UCase(Choix) & "*" Then

.ListItems.Add , , sh.Cells(L, P)

.ListItems(.ListItems.Count).ListSubItems.Add , , sh.Cells(L, P + 1).Value
.ListItems(.ListItems.Count).ListSubItems.Add , , sh.Cells(L, P + 2).Value
.ListItems(.ListItems.Count).ListSubItems.Add , , sh.Cells(L, P + 3).Value
.ListItems(.ListItems.Count).ListSubItems.Add , , sh.Cells(L, P + 4).Value
T = 14
.ListItems.Add , , sh.Cells(L, T)

.ListItems(.ListItems.Count).ListSubItems.Add , , sh.Cells(L, T + 1).Value
.ListItems(.ListItems.Count).ListSubItems.Add , , sh.Cells(L, T + 2).Value
.ListItems(.ListItems.Count).ListSubItems.Add , , sh.Cells(L, T + 3).Value
.ListItems(.ListItems.Count).ListSubItems.Add , , sh.Cells(L, T + 4).Value
S = 19
.ListItems.Add , , sh.Cells(L, S)

.ListItems(.ListItems.Count).ListSubItems.Add , , sh.Cells(L, S + 1).Value
.ListItems(.ListItems.Count).ListSubItems.Add , , sh.Cells(L, S + 2).Value
.ListItems(.ListItems.Count).ListSubItems.Add , , sh.Cells(L, S + 3).Value
.ListItems(.ListItems.Count).ListSubItems.Add , , sh.Cells(L, S + 4).Value

End If
Next
End With
End Sub
sinon veuillez voir mon fichier. ce qui me dérange c'est:( P=9 "Ligne9",,,,,,T=14 "Ligne14",,,,,,S=19 "Ligne19"...etc...)
depuis plus que 3 semaine je refléchie comment puis-je réaliser.sans résultat.
Amicalement
YAHYA
 

Pièces jointes

  • teste1.xlsm
    35.6 KB · Affichages: 20

fanfan38

XLDnaute Barbatruc
Bonjour
Plûtot que mettre P,T,S tu aurai mis P,p=P+5,p=P+5 tu aurai vu que c'est un pas de 5
VB:
Private Sub ComboBox1_Change()
  If ComboBox1.ListIndex = -1 Then Exit Sub
  Dim sh As Object, L As Long, J As Long, i As Long, dercol As Integer
 Set sh = Feuil1
 dercol = Cells(1, Columns.Count).End(xlToLeft).Column
 With Me.ListView1
  .ListItems.Clear
  With .ColumnHeaders
     .Clear
     .Add Text:="Réf", Width:=55, Alignment:=fmAlignmentLeft
     .Add Text:="DESIGNATION", Width:=325, Alignment:=fmAlignmentLeft
     .Add Text:="Qté", Width:=40, Alignment:=lvwColumnCenter
     .Add Text:="P-U", Width:=60, Alignment:=lvwColumnRight
     .Add Text:="MONTANT", Width:=75, Alignment:=lvwColumnRight
  End With
  .Gridlines = True
  .BorderStyle = ccFixedSingle
  .FullRowSelect = True
  .View = lvwReport
  L = Me.ComboBox1.Value + 1
  For i = 9 To dercol Step 5
   If Len(sh.Cells(L, i).Value) > 0 Then
   .ListItems.Add , , sh.Cells(L, i)
   .ListItems(.ListItems.Count).ListSubItems.Add , , sh.Cells(L, i + 1).Value
   .ListItems(.ListItems.Count).ListSubItems.Add , , sh.Cells(L, i + 2).Value
   .ListItems(.ListItems.Count).ListSubItems.Add , , sh.Cells(L, i + 3).Value
   .ListItems(.ListItems.Count).ListSubItems.Add , , sh.Cells(L, i + 4).Value
   End If
  Next
 End With
End Sub
A+ François
 

Pièces jointes

  • teste1.xlsm
    30.3 KB · Affichages: 13

Discussions similaires

Réponses
1
Affichages
1 K
Réponses
4
Affichages
1 K

Statistiques des forums

Discussions
312 145
Messages
2 085 759
Membres
102 965
dernier inscrit
Mael44