Listbox et je m'arrache les cheveux

cs_Sator2 Messages postés 137 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 10 septembre 2006 - 17 nov. 2005 à 02:52
cs_Sator2 Messages postés 137 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 10 septembre 2006 - 17 nov. 2005 à 15:54
Bonjour, voici quel est mon problème et ça fais un moment que je tourne en rond...
voilà j'ai une liste box sur une ligne, plusieurs additem, et j'aimerai ne pas avoir à cliquer dans la liste box mais avoir quelque chose de similair à listbox_change(index) mais le change n'existant pas pour une listbox....
bref si quelqu'un a une idée je suis preneur....
merci d'avance

8 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
17 nov. 2005 à 06:29
salut,
comme l'utilisateur ne peut pas ajouter de ligne manuelle, la ListBox ne changera que sous tes commandes.
c'est donc à toi de créer ~ta fonction change~ et de l'appeler à chaque ajout par "additem".
ou même cumuler ;)

VB6 ; 2boutons, 2 listbox


Option Explicit
'
'
Private Sub Command1_Click()
SetAddItem List1, "maligne"
End Sub
'
'
Private Sub Command2_Click()
SetAddItem List2, "maligne"
End Sub
'
'
Private Sub SetAddItem(ByRef LstB As ListBox, ByVal sString As String)
' écrit la ligne dans la ListBox voulue
LstB.AddItem sString

' fait j'sais pas quoi....
Debug.Print LstB.Name & " has changed"
End Sub


<SMALL> Coloration syntaxique automatique [AFCK]</SMALL>


++
PCPT [AFCK]
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 nov. 2005 à 08:21
J'ai pas compris la question...

Amusez-vous !
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS - MVP Visual Basic
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
17 nov. 2005 à 08:40
Bonjour,

Je ne vois pas l'intérêt de cliquer sur un CommandButton plutot que dans la ListBox ??



jpleroisse
0
cs_Sator2 Messages postés 137 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 10 septembre 2006
17 nov. 2005 à 10:03
je me suis visiblement mal exprimer...
désolé

j'ai d'un côté un text box ou l'on rentre un genre de film (action, aventure....) ensuite j'ai un listbox pour indiqué l'âge minimum requis qui lui à des chiffres de 7 à 18, donc quand je change la valeur de ma liste box avec le scrolle sans cliquer dans la listbox, et que je click sur enregistrer, et là je remarque que ma listbox n'a pas détecté que la valeur à changée et quelle est toujours considérée comme 0 ou -1, donc vous commprendrez facilement que ça reviendrai à pouvoir autorisé un gosse de -d'un an de pouvoir regarder un Rambo ou mieux encore... (pauvre fetus....)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
17 nov. 2005 à 10:31
Bonjour,



Option Explicit

Private Sub Form_Load()

Dim i

For i = 7 To 18

List1.AddItem i

Next i

List1.ListIndex = 0

End Sub



Private Sub Text1_Change()

Dim sStr

sStr = Array("Aventure", "Action", "Comédie", "Fantastique")'etc....



If Text1.Text = sStr(0) Then

List1.ListIndex = 0

ElseIf Text1.Text = sStr(1) Then

List1.ListIndex = 1

ElseIf Text1.Text = sStr(2) Then

List1.ListIndex = 2

ElseIf Text1.Text = sStr(3) Then

List1.ListIndex = 3

' etc.....

End If

End Sub



jpleroisse



Si une réponse vous convient, cliquez Réponse Acceptée.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 nov. 2005 à 12:34
Comment change-tu la valeur de la listbox sans cliquer, avec le scroll ??
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
17 nov. 2005 à 14:21
Bonjour Renfield,

si j'ai bien compris sa question, il veut se positionner sur l'item de
la listbox correspondant à la données du texbox.C' est bien ce mon code
fait , s'il écrit Fantastique dans le textBox, l'item (indiquant 10
dans l'exemple) sera sélectionné.

Bien sur, j'ai fait ce code sur VB6, en VBA sur Excel, il faut changer
Form_Load par UserForm_Initialize et remplacer tout ce qui est Text1 et
List1 par TextBox1 et ListBox1.



jpleroisse
0
cs_Sator2 Messages postés 137 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 10 septembre 2006
17 nov. 2005 à 15:54
bon voilà un exemple qui je l'espère serra assez claire cette fois...

Option Explicit
' une form
' 1 listbox (List1) ' Hauteur mini pour laisser apparaître une seule ligne
' 1 textbox (text1)
' 1 commandbutton (Command1)
Private Sub Command1_Click()
Text1.Text = List1.Text
End Sub


Private Sub Form_Load()
Dim i As Integer
With List1
.AddItem "Choisir"
For i = 7 To 18
.AddItem i
Next
End With
End Sub
'-----------------------------------------------------------------------------------------------------

bref une fois la forme chargée si vous cliquez directement sur le bouton vous vemarquerez que dans votre text il ni a rien... alors que dans la listbox le mot Choisir est inscrit, ensuite si vous ne manipuler que le scroll et que l'on recommence l'opération, résutat idem...
pour que ça s'inscrive dans le textbox il faut cliquer dans la listbox et c'est ça que j'aimerai éviter...
0
Rejoignez-nous