Listbox remplis sous condition de ligne de couleur

abtony

XLDnaute Impliqué
Bonjour a tous, Bonjour le forum,

J'ai un userform a trois listbox, sur la première listbox, je souhaiterais voir uniquement les lignes de couleur jaune.

Suivant la sélection sur la listbox1 (exemple GROS_OEUVRE_MACONNERIE ), sur la listbox2 s'affiche les lignes de couleur verte comprises entre 78 et 224, cette plage étant variable suivant le nombres de lignes sous la ligne jaune du titre.

Quand sélection sur la listbox2, la listbox3 doit afficher le contenu compris en dessous de la sélection de la ligne de couleur verte (exemple INSTALLATION DE CHANTIER plage de sélection comprise entre 79 et 88) également variable.

j'espère avoir été le plus clair possible dans mon explication.

Merci d'avance pour votre aide

Cordialement

Abtony
 

Pièces jointes

  • test.xls.zip
    55 KB · Affichages: 85
  • test.xls.zip
    55 KB · Affichages: 83
  • test.xls.zip
    55 KB · Affichages: 95
Dernière édition:

abtony

XLDnaute Impliqué
Re : Listbox remplis sous condition de ligne de couleur

Bonsoir Thierry, Papou-net, le forum,

J'ai trouvé, excuser moi pour le post, voir code ci-dessous

excuser moi, mais étant pas mal débordé je n'ai pu répondre plus tôt.

Thierry dans ta procédure listbox3 pour afficher les infos en listbox4, j'ai voulu me servir de la procédure de la listbox3 pour afficher d'autres infos en listbox5, cet a dire si on prend un exemple avec GROS OEUVRE, IMPLANTATION, on a 3 sous rubriques (implantation 4 axes, 6 axes et 8 axes, ces sous rubriques ont aussi des rubriques que je met en colonne K4:O4.

comme ceci

Implantation de bâtiment 4 axes, compris fourniture et mise en place des chaises, traçage et repérage des niveaux.
Chevrons - ml - 6 - 12 - 25
planches - m2 - 25 - 10- 20
clous - kg - 1,5- 2 - 2,5
piquet - u - 25 - 30 - 40
paquet -u -11- 21- 31
marteau -p -12 -13 -14

j'utilise donc ton code que j'ai modifié comme suit,

Code:
Private Sub CommandButton5_Click()
Dim Lib As Range
Dim Lg As Long, LB4Lg As Integer, LBxLg As Integer
Dim n As Byte
Dim WS As Worksheet, WSFound As Worksheet
'Application.ScreenUpdating = False

ListBox5.Clear

For Each WS In ThisWorkbook.Worksheets
    If InStr(WS.Name, (Trim(Left(CStr(Me.ListBox1.Value), 29)))) <> 0 Then
        Set WSFound = WS
    End If
Next
    
    If WSFound Is Nothing Then
        MsgBox "La Feuille " & CStr(Me.ListBox1.Value) & " n'existe pas !", vbCritical
        Exit Sub
    End If



With WSFound
.Activate

  Set Lib = .Range("K:K").Find(Trim(ListBox4.Value), LookIn:=xlValues)
  If Lib Is Nothing Then Exit Sub Else Lg = Lib.Row + 1
  LBxLg = 0
    While Not .Cells(Lg, 11).Value = ""
      ListBox5.AddItem (.Cells(Lg, 11).Value)
      For n = 12 To 15
        ListBox5.List(LB4Lg, n -11) = (.Cells(Lg, n).Value)
      Next
      Lg = Lg + 1: LB4Lg = LB4Lg + 1
  Wend
End With

Application.ScreenUpdating = False
End Sub

Mais comme en colonne B:B il y a parfois des ligne vides, ces lignes se répercutent sur les données qui doivent s'afficher en listbox5 et donc vide aussi.

Je n'arrive pas a trouver la solution en jouant sur le numéros de colonne, une aide et explication serais la bien venu.

Merçi d'avance

Cordialement

Abtony
 
Dernière édition:

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : Listbox remplis sous condition de ligne de couleur

Hello

Je ne sais pas trop, rapidos avant de partir, as-tu essayé ceci

For n = 12 To 15
If (.Cells(Lg, n).Value) <> "" Then
ListBox5.List(LB4Lg, n -11) = (.Cells(Lg, n).Value)
End If
Next

Cordialement

@+Thierry
 

Discussions similaires

Réponses
18
Affichages
869
Réponses
2
Affichages
165

Statistiques des forums

Discussions
312 972
Messages
2 094 056
Membres
105 931
dernier inscrit
Jojoseph