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.
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 :
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")
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
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