Skip to main content

selectionner element dans une liste

Bonjour,
J'ai développé une application qui utilise des listbox dans une interface graphique. Je n'ai pas de difficulté pour afficher ces listes, ni pour récupèrer l'indice de l'élément sélectionné par l'utilisateur.
Je souhaiterai pouvoir selectionner par macro l'un des éléments de la liste (exemple : sélectionner le quatrième élément de la liste), je n'ai pas trouvé une fontion de type "maliste.SelectItem(4,true).
Existe t'il une fonction qui répond à mon besoin ?
Merci d'avance.
 

Brian Element Sat, 12/15/2018 - 13:55

Bonjour partitionfrance, je ne suis pas sûr de comprendre la question, mais voici un exemple de modification de la valeur par défaut dans une liste.  Faites-moi savoir si c'est ce que vous recherchez.


Sub Main
	ReDim listbox1$(4)
	listbox1$(0) = "Apples"
	listbox1$(1) = "Bananas"
	listbox1$(2) = "Oranges"
	listbox1$(3) = "Grapes"
	listbox1$(4) = "Lemons"
	Call menu()
End Sub 

Function menu()
	Dim dlg As NewDialog
	Dim button As Integer
	'set the default for the list box as Oranges
	dlg.DropListBox1 = 2
	
	button = Dialog(dlg)
End Function

partitionfrance Sun, 12/16/2018 - 02:35

Bonjour Brian,
Merci ton aide, je souhaite modifier le choix d'un utilisateur depuis la fonction "DisplayiT(ControlID$,Action%,SuppValue%).
Exemple : j'ai deux listes. (list1 et list2)
Je souhaite que lorsque l'utilisateur sélectionne le 3 ème élément de la liste1, (ce qui appelera la fonction DisplayIT), la macro sélectionne automatiquement le 3 ème élement de la liste2.
Actuellement mon code ressemble à, avec commentaire en anglais pour faciliter la compréhension:
Function DisplayIt(ControlID$,Action%,SuppValue%)
if Action=1 Then
Dlglistboxarray "list1", listeElements1
Dlglistboxarray "list2", listeElements2
End if
if ControlID="list1" AND Action=2 Then
IndexSelectedInList1=SuppValue
' I want to select the item in position "SuppValue" in the LIST2
?
End if
 

Brian Element Sun, 12/16/2018 - 08:27

Bonjour partitionfrance,

Je comprends ce que vous essayez de faire et, malheureusement, je n’ai jamais pu comprendre comment le faire. Le seul moyen que je connaisse pour ce faire est de fermer le dialogue et de le rouvrir avec des valeurs par défaut comme le code ci-dessus.

Brian