XL 2013 Code VBA pour l'affichage des données sur un ListBox

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 !

Joseph Haroun

XLDnaute Junior
Bonjour ! Bonsoir !
Je voudrais afficher mes données sur une Liste boxe par un code VBA. Mais mon Code VBA (voir fichier attaché) n'arrive pas à afficher que la première colonne.
Quelqu'un pourquoi et corriger ce code VBA ? Merci d'avance !
 

Pièces jointes

Bonsoir @Yusufu ibn Anurahi ,

Essayez ceci :
VB:
Private Sub ComboBox1_Change()
  PeuplerListbox ComboBox1.Text
End Sub

Private Sub UserForm_Initialize()
  Me.Label3.Caption = Date
  Me.ComboBox1 = "Choisir un type de client ..."
  Me.ComboBox1.List = Array("*", "Créancier", "Débiteur")
  PeuplerListbox
End Sub

Sub PeuplerListbox(Optional Critere)
Dim t, i&, n&, som&, crit, v
ListBox1.Clear: TextBox1 =""
ListBox1.ColumnCount = 5
With Feuil1
  t = .Range("a2:e" & .Cells(.Rows.Count, "a").End(xlUp).Row)
  If IsMissing(Critere) Then crit = "*" Else crit = Critere
  For i = 1 To UBound(t)
    If t(i, 3) Like crit Then
      som = som + t(i, 5)
      n = n + 1
    End If
  Next i
  If n > 0 Then
    ReDim v(1 To n, 1 To UBound(t, 2))
    n = 0
    For i = 1 To UBound(t)
      If t(i, 3) Like crit Then
        n = n + 1
        For j = 1 To UBound(t, 2): v(n, j) = t(i, j): Next
      End If
    Next i
    ListBox1.List = v
    TextBox1 = Format(som, "#, ##")
  End If
End With
End Sub
 

Pièces jointes

Dernière édition:
Bonsoir @Yusufu ibn Anurahi ,

Essayez ceci :
VB:
Private Sub ComboBox1_Change()
  PeuplerListbox ComboBox1.Text
End Sub

Private Sub UserForm_Initialize()
  Me.Label3.Caption = Date
  Me.ComboBox1 = "Choisir un type de client ..."
  Me.ComboBox1.List = Array("*", "Créancier", "Débiteur")
  PeuplerListbox
End Sub

Sub PeuplerListbox(Optional Critere)
Dim t, i&, n&, som&, crit, v
ListBox1.Clear: TextBox1 =""
ListBox1.ColumnCount = 5
With Feuil1
  t = .Range("a2:e" & .Cells(.Rows.Count, "a").End(xlUp).Row)
  If IsMissing(Critere) Then crit = "*" Else crit = Critere
  For i = 1 To UBound(t)
    If t(i, 3) Like crit Then
      som = som + t(i, 5)
      n = n + 1
    End If
  Next i
  If n > 0 Then
    ReDim v(1 To n, 1 To UBound(t, 2))
    n = 0
    For i = 1 To UBound(t)
      If t(i, 3) Like crit Then
        n = n + 1
        For j = 1 To UBound(t, 2): v(n, j) = t(i, j): Next
      End If
    Next i
    ListBox1.List = v
    TextBox1 = Format(som, "#, ##")
  End If
End With
End Sub
Merci beaucoup, ma pomme pour ta prompte réaction et ta proposition de solution. Je vais l'essayer et te faire un feedback.
mais je souhais savoir quel était le problème avec mon code.
 
- 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
2
Affichages
427
Retour