Listbox : récupérer numéros lignes items

Bonsoir,

J'aimerai savoir si il est possible de récupérer les numéros de ligne correspondant aux items présent dans une listbox.

Mon but étant par exemple d'afficher ou masquer des lignes sous condition. L'affichage ou le masquage de ces lignes ne doit avoir lieu que pour les lignes correspondant aux items de la listbox.

Par exemple, j'ai dans la listbox deux items (sans doublon) représentant les numéros des ligne 4,5,6 et 10,11,12 d'une feuille1..

Je souhaite masquer des lignes de cette feuille1 si dans la colonne "C" il y a la valeur "A". Dans mon cas la lettre A apparaît dans la colonne "C" pour les lignes 1,2,3,5,11,12,15,16,20...

Dans cet exemple je voudrais donc que seule les lignes 5,11,12 soit masquées.

J'ai pas mal cherché mais j'ai rien trouvé.

Si quelqu'un a une solution pour ce problème.

Merci

Alors est ce que c'est possible ou est-ce que ça existe?

Personne pour m'aider?

En fait je voudrais simplement pouvoir faire une action (afficher des lignes, masquer, supprimer...) mais seulement pour les items présent dans la listbox. Donc seulement pour les lignes des items présent dans la listbox.

Avec une boucle for par exemple:

For J = ListBox2.ListCount - 1 To 0 Step -1

If ListBox2.Selected(intCount) Then

If Sheets("données graph").Range("L" & J).Value <> "" Then

Sheets("données graph").Range("L" & J).Rows.Hidden = True

End If

End If

Next

je sais pas du tout si c'est bon mais je pense que c'est dans le même genre. En tout cas cette boucle marche pas.

j'ai presque trouvé avec ce code :

Private Sub ToggleButton1_Click()

Dim J As Integer

Dim i As Integer

DerLig = Sheets("données graph").Range("C" & Rows.Count).End(xlUp).Row

With ListBox2

If ToggleButton1.Value = True Then

ToggleButton1.BackColor = RGB(79, 129, 189)

ToggleButton1.Caption = "DT"

For i = 5 To DerLig

If ListBox2.Value = Sheets("données graph").Range("C" & i).Value And Sheets("données graph").Range("L" & i).Value <> "" Then

Sheets("données graph").Range("L" & i).Rows.Hidden = True

End If

Next

End If

Dans ce cas, si je sélectionne dans ma listbox2 un item et que j'appuie sur ToggleButton1_Click alors je masque juste les lignes correspondant à l'item sélectionné.

Ce que je n'arrive pas encore à faire c'est pouvoir sélectionner automatiquement tous les items de la listbox2 et que ma condition if prenne tous les items sélectionné automatiquement.


C'est bon j'ai trouvé avec ça :

Private Sub ToggleButton1_Click()

Dim J As Long

Dim i As Integer

DerLig = Sheets("données graph").Range("C" & Rows.Count).End(xlUp).Row

With ListBox2

If ToggleButton1.Value = True Then

ToggleButton1.BackColor = RGB(79, 129, 189)

ToggleButton1.Caption = "DT"

For J = 0 To Me.ListBox2.ListCount - 1

For i = 5 To DerLig

If Me.ListBox2.List(J) = Sheets("données graph").Range("C" & i).Value And Sheets("données graph").Range("L" & i).Value <> "" Then

Sheets("données graph").Range("L" & i).Rows.Hidden = True

End If

Next

Next

End If

Rechercher des sujets similaires à "listbox recuperer numeros lignes items"