Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Remplissage d'une fenêtre déroulante dans un UserForm sous VBA Excel

4 réponses
Avatar
Nesta
Bonsoir à tous,

J'ai créé un UserForm dans Visual Basic d'Excel, avec une fenêtre
déroulante, et je souhaite ajouter des valeurs dans cette fenêtre
déroulante, mais je ne sais pas comment on fait... quelqu'un peut-il m'aider
svp ? Merci d'avance à tous.


Nesta

4 réponses

Avatar
Daniel
Bonjour.
Si tu as rempli ta listbox / combox avec "additem"
tu peux rajouter :
UserForm1.ListBox1.AddItem "toto"
etc.
Cordialement.
Daniel
"Nesta" a écrit dans le message de news:
%
Bonsoir à tous,

J'ai créé un UserForm dans Visual Basic d'Excel, avec une fenêtre
déroulante, et je souhaite ajouter des valeurs dans cette fenêtre
déroulante, mais je ne sais pas comment on fait... quelqu'un peut-il
m'aider svp ? Merci d'avance à tous.


Nesta



Avatar
lSteph
Bonjour,
si tu as une plage déterminée (cellules d'une colonne) dans une feuille tu
peux utiliser
.rowsource (dans la fenêtre propriétés de ta liste ou par le code).

ou sinon filtrer une liste sans doublons voici un exemple ici données en
colonne "b":

'****
Option Explicit
Dim col As String
Dim List_temp As New Collection

Private Sub UserForm_Initialize()
Call rempliste(ListBox1, "b")
End Sub

Sub rempliste(malist As Control, col As String)

Dim i As Integer, derlg As Long
Dim c As Range
Do While List_temp.Count > 0
List_temp.Remove 1
Loop
On Error Resume Next
'filtre les doubons par collection
derlg = Range(col & "65536").End(3).Row
For Each c In Range(col & "2:" & col & derlg)
List_temp.Add c, CStr(c)
Next c
On Error GoTo 0

'insertion données uniques dans la LISTbox
For i = 1 To List_temp.Count
malist.AddItem List_temp(i)
Next i


End Sub
''*****

'lSteph


"Nesta" a écrit dans le message de news:
%
Bonsoir à tous,

J'ai créé un UserForm dans Visual Basic d'Excel, avec une fenêtre
déroulante, et je souhaite ajouter des valeurs dans cette fenêtre
déroulante, mais je ne sais pas comment on fait... quelqu'un peut-il
m'aider svp ? Merci d'avance à tous.


Nesta



Avatar
lSteph
...le code donné pour une " listbox1 " vaut aussi pour " combobox1"

"Nesta" a écrit dans le message de news:
%
Bonsoir à tous,

J'ai créé un UserForm dans Visual Basic d'Excel, avec une fenêtre
déroulante, et je souhaite ajouter des valeurs dans cette fenêtre
déroulante, mais je ne sais pas comment on fait... quelqu'un peut-il
m'aider svp ? Merci d'avance à tous.


Nesta



Avatar
Nesta
Bonjour Daniel et ISteph, et merci pour vos réponses,

J'ai essayé d'utiliser la commande UserForm1.ListBox1.AddItem "toto", mais
ça ne donne pas les résultats escomptés...
Quand je teste mon formulaire, en déroulant la fenêtre déroulante, rien ne
s'afficeh au départ ; puis, quand je tape quelque chose, là j'ai ma liste de
6 items qui s'affice, mais en triple exemplaire..... j'ai certainement dû
faire une erreur quelque part.
Voici le morceau de code correspondant à cette fenêtre déroulante :

Private sub UserForm1_Change()

UserForm1.ListBox1.AddItem "param1"
UserForm1.ListBox1.AddItem "param2"
UserForm1.ListBox1.AddItem "param3"
UserForm1.ListBox1.AddItem "param4"
UserForm1.ListBox1.AddItem "param5"
UserForm1.ListBox1.AddItem "param6"

End Sub

Je rappelle que ce que je souhaite, c'est avoir une fenêtre déroulante avec
des items dedans au moment où on la déroule (items qu'on va sélectionner, et
dont la valeur sera utile pour la suite du programme).
Merci pour votre aide à tous.


Nesta




"Daniel" a écrit dans le message de news:
eNW%
Bonjour.
Si tu as rempli ta listbox / combox avec "additem"
tu peux rajouter :
UserForm1.ListBox1.AddItem "toto"
etc.
Cordialement.
Daniel
"Nesta" a écrit dans le message de news:
%
Bonsoir à tous,

J'ai créé un UserForm dans Visual Basic d'Excel, avec une fenêtre
déroulante, et je souhaite ajouter des valeurs dans cette fenêtre
déroulante, mais je ne sais pas comment on fait... quelqu'un peut-il
m'aider svp ? Merci d'avance à tous.


Nesta