Listbox

Fermé
cox1880 Messages postés 6 Date d'inscription mercredi 25 novembre 2015 Statut Membre Dernière intervention 3 décembre 2016 - Modifié par jordane45 le 3/12/2015 à 13:21
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 3 déc. 2015 à 14:59
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
3 déc. 2015 à 13:26
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 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
3 déc. 2015 à 14:59
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