Listbox

cox1880 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
j'ai trouver sur un tuto comment renseigner une listbox depuis un tableau

'regarde dans le tableau 
For ligne = 2 To 300 
'si la colonne G = "un nom"
If Cells(ligne, 7) Like "*" & ComboBox1 & "*" Then 
'copie la colonne thème 
ListBox1.AddItem Cells(ligne, 3) 
End If 


par contre j'ai encore deux petit soucis
1: j'aimerai surligner la ligne en rouge

2: j'arrive a copier la colonne C (ligne, 3) et j'aimerai copier les colonne B,C,D (ligne 2,3,4)
encore merci

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Pour la question "2", je suppose que quand tu veux dire "copier" .. tu veux parler d'ajouter dans ta listbox les valeurs des colonnes B,C,D ..
Donc.. que tu veux une listbox multicolonnes ?
Si c'est ça... regardes ici
https://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-G
(descend jusqu'à la parti : Créer une ListBox multicolonnes. )

Pour ce qui est de la couleur.. le control ListBox ne le permet pas.
Il me semble que tu pourrais passer par un controle de type ListView à la place (qui lui le permettrait).
En cherchant sur le net, tu devrais pouvoir trouver comment faire.


0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bojour

j'ai plutôt compris qu'il fallait surligner la ligne où on trouve la valeur cherchée mais...

peut-^tr + rapide on ne boucle que sur le nombre d-occurences


Dim ref As String, Nbre As Byte
Dim Lig As Byte, cptr As Byte, Col As Byte, Idx As Byte

'....... code départ existant

ref = "*" & combobox1 & "*"
'nbre de ref dans colonne G
Nbre = Application.CountIf(Range("G2:G100"), ref)
ReDim tablo(1 To Nbre, 1 To 3)
Lig = 1
If Nbre = 0 Then GoTo err_vide

'recherche lig avec *ref*
For cptr = 1 To Nbre
Lig = Columns("G").Find(ref, Cells(Lig, "G"), xlValues).Row
Idx = Idx + 1
For Col = 1 To 3
tablo(Idx, Col) = Cells(Lig, Col + 1)
Next
Rows(Lig).Interior.ColorIndex = 3
Next
ListBox1.Column() = tablo
Exit Sub
'gestionnaire erreurs
err_vide:
MsgBox ref & " inconnu", vbCritical

End Sub



 Michel
0