OVH Cloud OVH Cloud

Donnees source pour une combobox

5 réponses
Avatar
Fred64
Bonjour,
Je n'arrive pas à donner une plage de donnée comme source d'une combobox,
pouvez vous m'aider ?

'Déclaration des Variable qui vont être utilisées
Dim DernierElement As String

' Dernière cellule de la liste pour les éléments
DernierElement = ActiveSheet.Range("B6").End(xlDown).Address
' Plage de données pour afficher dans liste deroulante
CB_element.RowSource = ActiveSheet.Range("B6:" & DernierElement)

' Afficher la première marque de la liste
CB_element.ListIndex = 0

5 réponses

Avatar
jb
La liste se trouve à partir de A2 dans Feuil1. A placer dans
UserForm_Initialize. Si le menu est dans la feuille, placer dans
WorkBook_open ou Auto_Open

Private Sub UserForm_Initialize()
i = 2
Do While Sheets("feuil1").Cells(i, 1) <> ""
Maliste.AddItem Sheets("feuil1").Cells(i, 1)
i = i + 1
Loop
End Sub

JB
Avatar
anonymousA
bonjour,

2 manières directes de faire ( sans additem donc)

Private Sub UserForm_Initialize()
Me.CB_element.RowSource = "B6:B" & [B6].End(xlDown).Row
'ou
Me.CB_element.List = Range("B6:B" & [B6].End(xlDown).Row).Value
End Sub

Attention cependant au fait qu'utiliser RowSource ou pas est différent
du point de vue de ce qu'on attend d'un combobox

A+



Bonjour,
Je n'arrive pas à donner une plage de donnée comme source d'une combobox,
pouvez vous m'aider ?

'Déclaration des Variable qui vont être utilisées
Dim DernierElement As String

' Dernière cellule de la liste pour les éléments
DernierElement = ActiveSheet.Range("B6").End(xlDown).Address
' Plage de données pour afficher dans liste deroulante
CB_element.RowSource = ActiveSheet.Range("B6:" & DernierElement)

' Afficher la première marque de la liste
CB_element.ListIndex = 0




Avatar
michdenis
Bonjour,

Une petite remarque : En ne précisant pas la feuille où se retrouve les données, ces méthodes utiliseront comme référence la feuille
active ! Cela peut présager à de drôles de surprises !


Salutations!



"anonymousA" a écrit dans le message de news: 4361ecc2$0$451$
bonjour,

2 manières directes de faire ( sans additem donc)

Private Sub UserForm_Initialize()
Me.CB_element.RowSource = "B6:B" & [B6].End(xlDown).Row
'ou
Me.CB_element.List = Range("B6:B" & [B6].End(xlDown).Row).Value
End Sub

Attention cependant au fait qu'utiliser RowSource ou pas est différent
du point de vue de ce qu'on attend d'un combobox

A+



Bonjour,
Je n'arrive pas à donner une plage de donnée comme source d'une combobox,
pouvez vous m'aider ?

'Déclaration des Variable qui vont être utilisées
Dim DernierElement As String

' Dernière cellule de la liste pour les éléments
DernierElement = ActiveSheet.Range("B6").End(xlDown).Address
' Plage de données pour afficher dans liste deroulante
CB_element.RowSource = ActiveSheet.Range("B6:" & DernierElement)

' Afficher la première marque de la liste
CB_element.ListIndex = 0




Avatar
Fred64
Je vous remercie pour votre aide, c'est ce que je voulais savoir
@+

"michdenis" a écrit dans le message de news:
%
Bonjour,

Une petite remarque : En ne précisant pas la feuille où se retrouve les
données, ces méthodes utiliseront comme référence la feuille
active ! Cela peut présager à de drôles de surprises !


Salutations!



"anonymousA" a écrit dans le message de news:
4361ecc2$0$451$
bonjour,

2 manières directes de faire ( sans additem donc)

Private Sub UserForm_Initialize()
Me.CB_element.RowSource = "B6:B" & [B6].End(xlDown).Row
'ou
Me.CB_element.List = Range("B6:B" & [B6].End(xlDown).Row).Value
End Sub

Attention cependant au fait qu'utiliser RowSource ou pas est différent
du point de vue de ce qu'on attend d'un combobox

A+



Bonjour,
Je n'arrive pas à donner une plage de donnée comme source d'une combobox,
pouvez vous m'aider ?

'Déclaration des Variable qui vont être utilisées
Dim DernierElement As String

' Dernière cellule de la liste pour les éléments
DernierElement = ActiveSheet.Range("B6").End(xlDown).Address
' Plage de données pour afficher dans liste deroulante
CB_element.RowSource = ActiveSheet.Range("B6:" & DernierElement)

' Afficher la première marque de la liste
CB_element.ListIndex = 0








Avatar
anonymousA
Bonjour,

Dans la mesure ou le demandeur tentait de le faire sur la feuille active
(CB_element.RowSource = ActiveSheet.Range("B6:" & DernierElement))
préciser la feuille dans la definition du rowsource est un peu
"superfétatoire".

A+

Bonjour,

Une petite remarque : En ne précisant pas la feuille où se retrouve les données, ces méthodes utiliseront comme référence la feuille
active ! Cela peut présager à de drôles de surprises !


Salutations!



"anonymousA" a écrit dans le message de news: 4361ecc2$0$451$
bonjour,

2 manières directes de faire ( sans additem donc)

Private Sub UserForm_Initialize()
Me.CB_element.RowSource = "B6:B" & [B6].End(xlDown).Row
'ou
Me.CB_element.List = Range("B6:B" & [B6].End(xlDown).Row).Value
End Sub

Attention cependant au fait qu'utiliser RowSource ou pas est différent
du point de vue de ce qu'on attend d'un combobox

A+




Bonjour,
Je n'arrive pas à donner une plage de donnée comme source d'une combobox,
pouvez vous m'aider ?

'Déclaration des Variable qui vont être utilisées
Dim DernierElement As String

' Dernière cellule de la liste pour les éléments
DernierElement = ActiveSheet.Range("B6").End(xlDown).Address
' Plage de données pour afficher dans liste deroulante
CB_element.RowSource = ActiveSheet.Range("B6:" & DernierElement)

' Afficher la première marque de la liste
CB_element.ListIndex = 0