Compter nombre d'occurences dans la 5e colonne d'une listbox

lolo62000

XLDnaute Junior
Bonjour,

après plusieurs essais, j'ai réussi à comptabiliser le nombre de lignes présentes dans ma listbox selon les choix de 3 combobox.
Par contre, le comptage à afficher dans la textbox4 se fait sur la 1e colonne de la listbox. Et je souhaiterais qu'il se fasse sur la 5e colonne, car certaines lignes peuvent ne pas avoir de données en 5e colonne.
Merci pour votre aide.
Laurent.

Private Sub CommandButton1_Click()
With Sheets("Tango logs")
k = 0
Me.ListBox1.Clear
If Me.Textbox3 = "" Then Me.Textbox3 = "*"
If Me.Textbox2 = "" Then Me.Textbox2 = "*"
If Me.Textbox1 = "" Then Me.Textbox1 = "*"

For i = 2 To [A65000].End(xlUp).Row
If Cells(i, 1) Like "*" & Me.Textbox1 & "*" _
And Cells(i, 2) Like Textbox2 And Cells(i, 3) Like Textbox3 Then
Me.ListBox1.AddItem
Me.ListBox1.List(k, 0) = Cells(i, 1)
Me.ListBox1.List(k, 1) = Cells(i, 2)
Me.ListBox1.List(k, 2) = Cells(i, 3)
Me.ListBox1.List(k, 3) = Cells(i, 8)
Me.ListBox1.List(k, 4) = Cells(i, 9)
Me.ListBox1.List(k, 5) = i
k = k + 1
TextBox4 = ListBox1.ListCount 'Partie à modifier je suppose

End If
Next i
End With
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Compter nombre d'occurences dans la 5e colonne d'une listbox

Bonjour,

peut être ceciAvec une autre variable j, si j'ai bien compris, pas sur...

Code:
Me.ListBox1.List(k, 5) = i
If Cells(i, 9) <> "" then j =j + 1
TextBox4 = j

bonne journée
@+

Edition : textbox4 à alimenter en fin de procédure, non dans la boucle...
 
Dernière édition:

Theze

XLDnaute Occasionnel
Re : Compter nombre d'occurences dans la 5e colonne d'une listbox

Bonjour,

Soit tu refais une boucle soit tu testes dans la boucle de remplissage si la cellule n'est pas vide :
Code:
Private Sub CommandButton1_Click()

Dim J As Integer

    With Sheets("Tango logs")
    
        k = 0
        Me.ListBox1.Clear
        If Me.Textbox3 = "" Then Me.Textbox3 = "*"
        If Me.Textbox2 = "" Then Me.Textbox2 = "*"
        If Me.Textbox1 = "" Then Me.Textbox1 = "*"
        
        For i = 2 To [A65000].End(xlUp).Row
            If Cells(i, 1) Like "*" & Me.Textbox1 & "*" _
            And Cells(i, 2) Like Textbox2 And Cells(i, 3) Like Textbox3 Then
                Me.ListBox1.AddItem
                Me.ListBox1.List(k, 0) = Cells(i, 1)
                Me.ListBox1.List(k, 1) = Cells(i, 2)
                Me.ListBox1.List(k, 2) = Cells(i, 3)
                Me.ListBox1.List(k, 3) = Cells(i, 8)
                Me.ListBox1.List(k, 4) = Cells(i, 9)
                Me.ListBox1.List(k, 5) = i
                k = k + 1
                If Cells(i, 9) <> "" Then J = J + 1
                
            End If
        Next i
        
        TextBox4.Text = J
        
    End With
    
End Sub
 

lolo62000

XLDnaute Junior
Re : Compter nombre d'occurences dans la 5e colonne d'une listbox

Merci,
cela fonctionne parfaitement maintenant.
Une autre petite question.
J'ai ajouté une deuxième listbox dans mon formulaire.
Est-il possible de faire une recherche dans un même formulaire, sur deux feuilles différentes.
Car en ce moment, mon problème est que je dois me positionner sur la feuille "Tango logs" pour voir les données de ma listbox apparaître. Mais j'aimerais pouvoir lire ces données sans avoir à me rendre sur cette feuille, notamment dans l'éventualité où je peux afficher deux listbox qui contiennent des données de deux feuilles différentes.
Je joins un exemple concret cette fois-ci en pièce jointe. Si j'ouvre mon formulaire à partir du bouton de la Feuil3, ça ne fonctionne pas. Il faut que je me positionne sur la feuille "Tango logs".
Merci pour votre aide.
Bonne journée.
 

Pièces jointes

  • Userform_Listbox.xlsm
    33.5 KB · Affichages: 53

Pierrot93

XLDnaute Barbatruc
Re : Compter nombre d'occurences dans la 5e colonne d'une listbox

Re,

quand tu es dans un bloc "with" :

Code:
With Sheets("Tango logs")

mets des points devant les instructions qui doivent faire référence à la feuille...
Code:
For i = 2 To .[A65000].End(xlUp).Row
  If .Cells(i, 1) Like "*" & Me.Textbox1 & "*" _
     And .Cells(i, 2) Like Textbox2 And .Cells(i, 3) Like Textbox3 Then
    Me.ListBox1.AddItem
    Me.ListBox1.List(k, 0) = .Cells(i, 1)
 

Discussions similaires

Réponses
4
Affichages
192
Réponses
17
Affichages
804