Row source de combobox

Delirium

XLDnaute Occasionnel
Bonjours.

Je réalise une application excel et j'ai un problème avec un Combobox situé dans un Userform.

Mon classeur comporte 2 feuilles.

Sur la 'Feuil1' j'ai un bouton qui lance mon Userform.
Sur la 'Feuil2' en B1 j'ai le listindex de mon combobox
et en B2 à B98 le Rowsource.

J'ai don écrit ce code :
Code:
Private Sub UserForm_Initialize()
With ComboBoxDepartement
.RowSource = Sheets('feuil2').Range('B2:B98')
.ListIndex = Sheets('feuil2').Range('B1').Value
End With
End Sub

Private Sub ComboBoxDepartement_Change()
Sheets('feuil2').Range('B1').Value = ComboBoxDéperditionParois.ListIndex
End Sub

Mais apparament il y a un problème avec la ligne :
.RowSource = Sheets('feuil2').Range('B2:B98')

Si quelqu'un a la solution, merci d'avance.
 

porcinet82

XLDnaute Barbatruc
salut Delirium,

je vais peut etre faire une remarque complement idiote mais lorsque tu met With ComboBoxDepartement, la partie ComboBoxDepartement designe bien le nom de ta combo!!!
si c'est la cas, je ne vois pas trop ou ce situe le probleme.

@+
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Delirium, Porcinet, le Forum

Oui on peut le faire en Mode Design par la Fenêtre propriété sur RowSource.

Mais dans ce Cas on perd toute notion de plage variable dynamique. Par conséquent il est souhaitable de le faire faire par VBA En Mode Run Time.

En fait c'est ta Syntax qui ne va pas... RowSource est un peu un hybride (d'ailleurs il ne passe pas sous Mac)...

Il faut écrire ainsi :

ComboBox1.RowSource = 'Feuil2!B2:B98'

Et en plage dynamique :

Option Explicit

Private Sub UserForm_Initialize()
Dim WS As Worksheet
Dim L As Integer

Set WS = Worksheets('Feuil2')

    L = WS.Range('B35000').End(xlUp).Row

   
With Me.ComboBoxDepartement
        .RowSource = WS.Name & '!B2:B' & L
        .ListIndex = WS.Range('B1').Value
   
End With

End Sub


Bonne Fin de Journée
[ol]@+Thierry[/ol]
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 949
Membres
103 989
dernier inscrit
jralonso