Userform - Liste déroulante avec rowsource basé sur un variant

Bonjour la communauté,

Je souhaite faire un userform avec un liste déroulante spécifique en fonction de la personne qui l'ouvre. Je voulais savoir si le rowsource pouvait être indexé sur un variant et pas forcément sur une plage de cellule?

exemple de code qui ne marche pas:

Sub UserForm_Initialize()

Dim Tb As Variant

    'Je définis ma plage sur laquelle je vais basé mon variant ok
    Lig = Sheets("DATA").Cells.Find(What:="BD_Absences", LookIn:=xlFormulas2, LookAt:=xlWhole, SearchOrder:=xlByRows).Row
    Col = Sheets("DATA").Cells.Find(What:="BD_Absences", LookIn:=xlFormulas2, LookAt:=xlWhole, SearchOrder:=xlByRows).Column

    NbLig = Range(Cells(Lig + 2, Col), Cells(Lig + 2, Col).End(xlDown)).Cells.Count
    NbCol = Range(Cells(Lig + 2, Col), Cells(Lig + 2, Col).End(xlToRight)).Cells.Count

    Tb = Range(Cells(Lig + 2, Col), Cells(Lig + 1 + NbLig, Col + NbCol - 1))

    'J'ajoute ici une fonction trie pour avoir que certaines valeurs dans mon Tb

    'Je définis le rowsource mais ça ne marche pas
    U_3.LIST_2.RowSource = Tb 'Cette ligne ne marche pas

    Show.U_3

End Sub

Merci beaucoup pour votre temps

Bonjour…

Un contrôle de type ListBox ou Combobox s’initialise de plusieurs façons possibles.

- On utilise la propriété RowSource, souvent décriée car mal connue, quand on veut faire apparaître la ligne des titres ainsi :

Sub UserForm_Initialize()
    Dim Tb As Range
    … ‘définition simple de la plage
    Set Tb = Range(…)
    ListBox1.RowSource = Tb.Address ‘adresse de la plage
End Sub

- Il est préférable d’utiliser la propriété List mais avec une plage de plus d’une ligne et d’une ou plusieurs colonnes

Sub UserForm_Initialize()
  Dim Tb As Range
  … ‘définition simple de la plage
  Set Tb = Range(…)
  ComboBox1.List = Tb.Value ‘ liste des items
End Sub

- la propriété AddItem mais c’est une autre histoire quand la liste doit avoir plusieurs colonnes.

Merci beaucoup c'est exactement ce que je recherchais ça marche avec un variant. Je ne connaissais que la propriété rowsource. Je vais me renseigner sur additem ça m'a l'air intéressant. Dans tous les cas, merci beaucoup :)

Rechercher des sujets similaires à "userform liste deroulante rowsource base variant"