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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
496
Retour