Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
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
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
522
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…