Transformer un Combobox en listbox

Bonjour j'aurais voulu savoir comment avoir l'apparence d'une listbox (tableau) dans un combobox sans avoir de menu deroulant.

Pourquoi faire? et bien pour pouvoir surligner certaines lignes.

Merci d'avance

33gmao-vba-281-29.xlsm (206.95 Ko)

Pour ne pas partir sur un Listbox dans ce cas ?

car pour une listbox on ne peut pas surligner ou mettre la police d'un couleur d'une ligne c'est soit tout le tableau soit rien à moin qu'il y ai une subtilité

Tu peux voir pour utiliser une solution comme celle proposée :

http://boisgontierjacques.free.fr/pages_site/formulairebases.htm#SimulListBox

Le problème c'est que je suis débutant j'ai déjà fait un gros boulot et m'impressionne moi meme de ce que j'ai pu réaliser.

Et de ce que je vois la c'est un autre level je vais essayer de traduire et le mettre ici pour voir si je comprend bien et si je peux l'adapter à mon application

'définit les variables début, nLigneTxt, n,f

'quand on ne met pas "as ...." de quel type sont les variables?

Dim début, nLigneTxt, n, f

'initilisation du userform

Private Sub UserForm_Initialize()

'on définit f qui est la feuille "BD"

Set f = Sheets("BD")

'la variable début équivaut au chiffre 1

début = 1

'la variable nLigneTxt équivaut au chiffre 5

nLigneTxt = 5

'la variable n équivaut à nLigneTxt c'est a dire à 5

n = nLigneTxt

' on définit nBD qui equivaut au nombre de colonne et après j'ai pas compris...

nBD = Application.CountA(f.[A:A]) - 1

'if le nombre nBD est inférieur à la variable n alors n=nBD

If nBD < n Then n = nBD

'on remonte le scrollbar en haut

Me.ScrollBar1.Min = 1

'ça j'ai pas trop compris

Me.ScrollBar1.Max = nBD - n + 1

'on va au sub affiche

affiche

'fin de la maccro

End Sub

'début de la variable

Sub affiche()

'pour la variable i equivalant à 1 jusqu'a le chiffre défini par la variable n

For i = 1 To n

'on défini le texte selon la cellule définit par la variable i + début en ligne 1 de la feuille BD

Me("txt1" & i).Value = f.Cells(i + début, 1)

jusque la c'est bon?

Me("txt2" & i).Value = f.Cells(i + début, 2)

Me("txt3" & i).Value = f.Cells(i + début, 3)

If i Mod 2 = 0 Then

Me("txt1" & i).BackColor = RGB(0, 255, 0)

Me("txt2" & i).BackColor = RGB(0, 255, 0)

Me("txt3" & i).BackColor = RGB(0, 255, 0)

End If

Next i

Me.Repaint

End Sub

Private Sub ScrollBar1_Change()

début = ScrollBar1

affiche

End Sub

Private Sub B_ok_Click()

Set f = Sheets("BD")

f.[K2] = "*" & Me.TextBox1 & "*"

f.[A1:C10000].AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=f.[K1:K2], CopyToRange:=Sheets("interro").[A1:C1]

Set f = Sheets("interro")

début = 1

For i = 1 To n

Me("txt1" & i).Value = ""

Me("txt2" & i).Value = ""

Me("txt3" & i).Value = ""

Next i

nInterro = Application.CountA(f.[A:A]) - 1

If nInterro < n Then n = nInterro

Me.ScrollBar1.Min = 1

Me.ScrollBar1.Max = nInterro - n + 1

affiche

n = nLigneTxt

End Sub

Rechercher des sujets similaires à "transformer combobox listbox"