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

Re,

Codification supprimé volontairement car ne sert plus a rien avec la méthode a Papou-net.

Le fichier est ligth pour pouvoir le posté sur le forum, 293 ko maxi.

Merci pour ton aide Thierry

Cordialement
 

_Thierry

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

QUESTION !

Est-ce que les noms de feuilles sont exactement les "string" écrites en Jaune dans la feuille TRAVAUX ? (espace Compris ??)


OUVRAGES COMMUNS GROS OEUVRE SECOND OEUVRE
VRD
GROS_OEUVRE_MACONNERIE
PLATRERIE (PLAQUE DE PLATRE)
RAVALEMENT PEINTURE REVETEMENT EXTERIEURS
CHARPENTE BOIS
MENUISERIE EXTERIEURE
MENUISERIE INTERIEURE
PLAFONDS SUSPENDUS
AGENCEMENT
CARRELAGE ET REVETEMENT MURAL
ETANCHEITE
COUVERTURE - ZINGUERIE
CLOISON DE DISTRIBUTION AMOVIBLE




Merci

@+Thierry

EDITION les espaces avant et arrière ne passent pas ici, mais il y en a (eg UN Espace DEVANT "VRD" et DEUX Espaces DERRIERE) Je peux utiliser la Function TRIM mais je ne connais pas le classeur final...
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Listbox remplis sous condition de ligne de couleur

Re abtony, Thierry,

@ abtony :

GROS OEUVRE MACONNERIE est le nom de la feuille, mais ça va être variable car j'ai pas loin de 14 feuilles, j'ai essayé de mettre

With Sheets (Label1.caption) mais c'est pas bon, que mettre a la place ?


Tu peux utiliser le nom système de la feuille, par exemple :

Code:
Private Sub ListBox3_Change()
Dim Lg As Long, LB4Lg As Integer
ListBox4.Clear
With Feuil9
    ...
    ...
    ...
End With
End Sub

@ vous 2

Pour reprendre la remarque de Thierry, j'ai modifié la macro ListBox2 comme suit :

Code:
Private Sub ListBox2_Change()
Dim Lg As Long
ListBox3.Clear
ListBox4.Clear
With Sheets("TRAVAUX")
  Lg = .Range("B:B").Find(ListBox2.Value, LookIn:=xlValues).Row + 1
  While .Cells(Lg, 2).Interior.ColorIndex < 4
    If Not .Cells(Lg, 2) = "" Then ListBox3.AddItem (.Cells(Lg, 2).Value)
    Lg = Lg + 1
  Wend
End With
End Sub

Merci à vous 2 pour vos compliments.

Cordialement.
 

_Thierry

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

Re,

Codification supprimé volontairement car ne sert plus a rien avec la méthode a Papou-net.

Le fichier est ligth pour pouvoir le posté sur le forum, 293 ko maxi.

Merci pour ton aide Thierry

Cordialement

Arf moi je compte bien m'en servire de ces codes lol !!!!


Là je ne sais plus arf

Mais bon ma question sur les Noms de Feuilles tient toujours !

@+Thierry
 

_Thierry

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

Re Bonjour Papou-Net, Abtony, le Forum

Bon voici une version mais pour les noms des feuilles je suis perplexe pour
« OUVRAGES COMMUNS GROS OEUVRE SECOND ŒUVRE »
Ca ne passe pas sous Excel 2007 un nom si long.

Enfin j’ai un peu (sacrément) bidulé avec un truc dans ce style :


Code:
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




Je te laisse voir dans le fichier joint... J'ai continué sur la lancée de Papou-Net sans utiliser les codifications, mais bon, je te dis tôt ou tard tu regretteras probablement de ne pas travailler sur une base de données linéaire et structurée avec des clefs de liaison entre les tables.

NB: seuls les onglets
"GROS_OEUVRE_MACONNERIE" avec Data
"OUVRAGES COMMUNS GROS OEUVRE" avec invention de Data
"PLATRERIE (PLAQUE DE PLATRE)" sans Data

Tu verras aussi que j'avais commencé à mettre dans les ListBox des Info secondaires mais primordiales (telles que l'adresse de la cellule ou la Codification), tu n'auras qu'à les enlever si tu t'en sers pas.

Cordialement

@+Thierry
 

Pièces jointes

  • USF_ListBox_Cascade_Per_ColorIndex_v02.zip
    168.1 KB · Affichages: 206
Dernière édition:

abtony

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

Ré Papou-net, Thierry,

@Thierry j'ai testé ta version, elle fonctionne très bien sous Mac.
Par contre impossible de l'adapter a mon fichier original, en faisant une combinaison du code a papou et de ton code de la listbox3
J'arrive a obtenir l'ensemble fonctionnel.

Seul d'étails dans la feuille travaux, a la dernière ligne (placard double) il faut mettre une ligne verte
Et juste en dessous une jaune, de cette
Manière toutes les infos sont juste dans la sélection de la listbox3.

Je vous remercie infiniment a vous deux pour votre travail, qui va grandement facilité le miens.

Amicalement a tout les deux

Bonne soirée

Et merci encore milles fois

Abtony
 
Dernière édition:

_Thierry

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

Bonsoir

Heureux que tu aies pu trouver ton bonheur entre nos deux solutions. Normalement dans ma Version 02 tu n'as plus de souci pour le "Placard Double" (dernière ligne) mais je pense que c'est parceque tu n'utilises pas cette version complètement.

Pour ce qui est de l'adaptation au fichier Original, c'est clair que tu auras encore di travail.

Mercui de nous avoir tenu au courant.

Cordialement
@+Thierry
 

abtony

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

Bonjour Papou-net, Thierry,

Non effectivement j'avais mal lu, donc j'ai mis le code de 18h34 pour la listbox2 et plus besoin de ligne de couleur verte.

Par contre le problème se pose aussi pour la ligne Jaune en listbox1 et la fin de ligne.

exemple( si je retire en fin de liste la ligne jaune la listbox1 plante sur la sélection du dernier item.)

si je la laisse cette ligne jaune pas de soucis de plantage.

Cordialement a vous deux.

Abtony
 

_Thierry

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

Hello vous deux et le Forum

Rapidos je dois partir, mais sur me V02 tu n'as pas ce souci j'avais testé justement ce problème.

Par contre de mémoire, j'ai vu aussi que Papou-Net gère aussi une ligne de Code du style If L > que "65536".end(xlup) then get out ! (pas la bonne syntax mais tu dois trouver..) Il ne l'a peut-être pas mise sur la ListBox1... A toi d'adapter... Moi je fais une Variable Range "LastCell" et j'attaque plus haut dans la condition et pas en sortie.

Best Regards I must get out

@+Thierry
 

Papou-net

XLDnaute Barbatruc
Re : Listbox remplis sous condition de ligne de couleur

Bonsoir abtony, Thierry,

@ abtony,

J'ai repris l'examen du problème et j'ai ajouté une ligne de test
Code:
If .Cells(Lg, 2).Value = "" Then Exit Sub
dans les modules des ListBox1, 2 et 3.

Après essais, pas relevé de plantage : je t'envoie donc le fichier afin que tu puisses le tester chez toi.

@ Thierry,

A bientôt, peut-être ?

Cordialement.
 

Pièces jointes

  • abtony-1.zip
    253.4 KB · Affichages: 76

abtony

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

Bonsoir Papou-net, Thierry, Le Forum,

Fichier pris et fonctionnel, depuis dimanche tout fonctionne parfaitement, adapté a mon fichier original sans trop de soucis.

Ce me fait gagner un temps fou avec cette méthode, vous pouvez pas vous imaginer comment ça devient plaisant de faire un devis sur plusieurs corps d'état, et de rechercher les ouvrages dans les différentes rubriques.

Une fois de plus, je vous renouvelle a tous deux mes remerciements.

Cordialement

Abtony
 

abtony

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

Hello Bonjour Papou-net, Thierry, le forum,

Bon j'ai un petit soucis, pas avec ce qui a été fait.

Le soucis est le suivant, en feuille travaux si j'ajoute des rubrique (ELECTRICITE) avec les sous rubrique.

ELECTRICITE est bien listé en listbox1, mais si on clique sur ELECTRICITE en listbox1 les sous rubriques ne s'affichent pas en listbox2 ?

J'ai beau cherché le pourquoi du comment, mais je ne vois pas, donc je reviens vers vous et sollicité encore votre aide.

Cordialement

Abtony

PS: Procédure listbox1 et 2 a Papou-net

Procédure listbox3 a Thierry
 

_Thierry

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

Bonjour AbTony, le Forum

C'est dans le cas "ELECTRICITE" que la méthode "Find" n'est pas calibrée correctement pour ne retourner QUE la valeur exacte des Cellules (non défini) et par conséquent elle trouve ELECTRICITE de "MATERIEL DE PRODUCTION D'AIR ET D'ELECTRICITE" un peu comme l'opérateur "LIKE"

Cette option, si je ne m'abuse, si elle n'est pas définie reste celle qui a été utilisé dans Excel la dernière fois. Dans ton cas ce doit être "XlPart" (Totalité du contenu de la cellule = non-cochée)

Pour pallier à ceci il suffira d'ajouter ceci :

L_Listbox1 = .Range(RangeAddress.Address).Find(ListBox1.Value, LookIn:=xlValues, lookAt:=xlWhole).Row + 1

Applicable dans les deux ListBox1 et Listbox2.

NB Cette option lancée par VBA sera enregistrée dans Excel comme étant la dernière utilisée (Totalité du contenu de la cellule = cochée) (RECHERCHER => CTRL + "F" depuis une feuille Excel)


Cordialement,

@+Thierry
 
Dernière édition:

Discussions similaires

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

Statistiques des forums

Discussions
312 972
Messages
2 094 055
Membres
105 930
dernier inscrit
Manoa