nombre de lignes visibles limité dans mon combobox

Lucien31

XLDnaute Nouveau
Bonjour et par avance merci de votre aide.

C'est mon premier message sur ce forum aussi, je vous remercie pour votre indulgence.
Mon problème: J'ai un combobox qui affiche une liste sur 2 colonnes.
Le problème est que ma liste peut être supérieure à 8 et je n'arrive pas à modifier l'affichage, pas de scrollbar verticale.
Le problème vient semble-il de l'affichage de 2 colonnes ( un code et son libellé) car quand je mets en affichage 1 colonne (en gras ci-desssous), je retrouve un ascenseur vertical et donc l'accès à toutes les lignes.
voici le code:

Private Sub UserForm_Initialize()
'Me.ComboBox1.List = Workbooks("Menu.xls").Sheets("Menu").Range("T6:T25" & Workbooks("Menu.xls").Sheets("Menu").Cells(Application.Rows.Count, 1).End(xlUp).Row).Value

Me.ComboBox1.ColumnCount = 2
Me.ComboBox1.RowSource = "'[Menu.xls]Menu'!S6:T" & [T25].End(xlUp).Row
End Sub
J'espère avoir été clair et que vous pourrez m'aider car cela fait des jours que j'essaie tout sans succès.
 

Lucien31

XLDnaute Nouveau
Re bonsoir

Normalement le Userform de préselection, n'a aucune incidence sur le code que j'ai proposé, l'important c'est le code qui se trouve dans l'initialise du UserForm qui contient la ComboBox1 que tu veux initialiser....

STP postes ce code d'initialise en copié/collé entre les balises CODE VB comme suit :

Regarde la pièce jointe 1072713

Et on pourra lire et éventuellement mieux comprendre où ça bugue au lieu de travailler sur d'une capture écran...

Bonne soirée
@+Thierry
Voici
<
Option Explicit

Private Sub UserForm_Initialize()
Dim WB As Workbook
Dim WS As Worksheet
Dim L As Integer
Dim MaPlageAddress As String, MonClasseeurName As String, MaFeuilleName As String

Set WB = ThisWorkbook
Set WS = WB.Worksheets("Menu.xlsm")

L = WS.Range("T25").End(xlUp).Row

MonClasseeurName = WB.Name
MaFeuilleName = WS.Name
MaPlageAddress = WS.Range("S6:T" & L).Address

With Me.ComboBox1
.ColumnCount = 2
.ListRows = 20
.RowSource = "'[" & MonClasseeurName & "]" & MaFeuilleName & "'!" & MaPlageAddress
End With





End Sub>
Bonne soirée
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Ah je ne l'avais pas vue celle-là :

Set WS = WB.Worksheets("Menu.xlsm")

Essaies comme ceci , c'est une WorkSheet WS, pas un WorkBook XLSM !, c'est "Menu" tout court !

VB:
Option Explicit

Private Sub UserForm_Initialize()
Dim WB As Workbook
Dim WS As Worksheet
Dim L As Integer
Dim MaPlageAddress As String, MonClasseeurName As String, MaFeuilleName As String

Set WB = ThisWorkbook
Set WS = WB.Worksheets("Menu")

L = WS.Range("T25").End(xlUp).Row

MonClasseeurName = WB.Name
MaFeuilleName = WS.Name
MaPlageAddress = WS.Range("S6:T" & L).Address

With Me.ComboBox1
.ColumnCount = 2
.ListRows = 20
.RowSource = "'[" & MonClasseeurName & "]" & MaFeuilleName & "'!" & MaPlageAddress
End With

End Sub

Bonne soirée
@+Thierry
 

Lucien31

XLDnaute Nouveau
Ah je ne l'avais pas vue celle-là :

Set WS = WB.Worksheets("Menu.xlsm")

Essaies comme ceci , c'est une WorkSheet WS, pas un WorkBook XLSM !, c'est "Menu" tout court !

VB:
Option Explicit

Private Sub UserForm_Initialize()
Dim WB As Workbook
Dim WS As Worksheet
Dim L As Integer
Dim MaPlageAddress As String, MonClasseeurName As String, MaFeuilleName As String

Set WB = ThisWorkbook
Set WS = WB.Worksheets("Menu")

L = WS.Range("T25").End(xlUp).Row

MonClasseeurName = WB.Name
MaFeuilleName = WS.Name
MaPlageAddress = WS.Range("S6:T" & L).Address

With Me.ComboBox1
.ColumnCount = 2
.ListRows = 20
.RowSource = "'[" & MonClasseeurName & "]" & MaFeuilleName & "'!" & MaPlageAddress
End With

End Sub

Bonne soirée
@+Thierry
Super Thierry!
ça marche parfaitement. Je vais pouvoir passer le post en "Résolu"
Merci beaucoup et mille excuses pour mes betises
Bonne soirée
 

Discussions similaires

Réponses
4
Affichages
467