Probleme avec Reylistbox

waspy59 Messages postés 189 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mai 2013 - 19 mars 2007 à 22:18
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 20 mars 2007 à 08:54
bonjour,

j'ai un tit soucis avec une reylistbox... celle contient 4 items differents (reactif, calibrateur, controle, accessoire)
je souhaite qu'en fonction de la valeur d'une textbox contenant au choix:
reactif
calibrateur
controle
accessoire
que l'item correspondant soit selectionner dans la reylistbox.... en gros si dans la textbox on a "reactifs" alors dans la reylistbox "reactif" soit selectionné

j'y arrive sans probleme avec une simple listbox l'expression:
listbox.text =  textbox.text

Mais pour la reylistbox ca ne fonctionne pas.... sniff

merci de votre aide

11 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
19 mars 2007 à 22:45
Salut,

connaissant Renfield (l'auteur du ReyListBox), il a d^t laisser le hWnd et le ListIndex de ce contrôle.
Si tel est le cas, regarde bien cet exemple, te reste plus qu'à l'adapter :

'This project needs a ListBox, named List1 and a TextBox, named Text1
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long
Const LB_FINDSTRING =  &H18F
Private Sub Form_Load()
    'KPD-Team 1998
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    'Add some items to the listbox
    With List1
        .AddItem "Computer"
        .AddItem "Screen"
        .AddItem "Modem"
        .AddItem "Printer"
        .AddItem "Scanner"
        .AddItem "Sound Blaster"
        .AddItem "Keyboard"
        .AddItem "CD-Rom"
        .AddItem "Mouse"
    End With
End Sub
Private Sub Text1_Change()
    'Retrieve the item's listindex
    List1.ListIndex = SendMessage(List1.hwnd, LB_FINDSTRING, -1, ByVal CStr(Text1.Text))
End Sub

~ <small> Mortalino ~ Colorisation automatique </small>

@++

<hr width ="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
waspy59 Messages postés 189 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mai 2013
19 mars 2007 à 22:52
re,

merci pour cette reponse rapide mais dans l'exemple c'est une listbox standard...
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
19 mars 2007 à 22:57
attends un peu, je teste ça. Mais je pense que c'est faisable. te tiens au courant !

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
waspy59 Messages postés 189 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mai 2013
19 mars 2007 à 23:07
merci pour ton aide

j'ai une autre petite question: comment deselectionner les items de la listbox? car j'ai toujours un des items qui est sur ligné et c'est pas pratique pour mon module de recherche

merci
0

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

Posez votre question
waspy59 Messages postés 189 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mai 2013
19 mars 2007 à 23:18
ne pas tenir compte de mon precedent message, j'ai trouvé
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
19 mars 2007 à 23:18
C'est TaListBox.ListIndex = -1

Par contre, bien que les propriétés soient bien présentes, le SendMessage ne fonctionne pas sur le ReyListBox mais que sur
un contrôle List normal.
Par contre tu peux verifier chaque items afin de sélectionner le bon.

    Dim i As Integer

For i = 0 To ReyListBox1.ListCount
' respecte la casse :
    If ReyListBox1.List(i) = Text1.Text Then ReyListBox1.ListIndex = i: Exit For

' ne respecte pas la casse :    'If LCase(ReyListBox1.List(i)) LCase(Text1.Text) Then ReyListBox1.ListIndex i: Exit For
Next i

~ <small> Mortalino ~ Colorisation automatique </small>

@++

<hr width ="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
waspy59 Messages postés 189 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mai 2013
19 mars 2007 à 23:34
oki merci je vais appliquer ca....

derniere petite question, sur ma forme j'ai quaziment que des reycommand et qq commandes nomales dont cette listbox.

le soucis c'est qu'au demarrage de la feuille je veuille que celle ci soit desactivé mais ca ne fonctionne pas contrairement aux autres reycommand... j'utilise listbox.enabled=false au chargement de la feuille mais rien, pkoi?
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
19 mars 2007 à 23:40
Mais c'est une ListBox standard (de VB) ou c'est la ReyListBox ??
Dans tous les cas, je viens de regarder, quelque soit le contrôle (ReyListBox, ListBox, ReyCommand), la propriété Enabled fonctionne parfaitement bien.
N'ai-je pas compris ta demande ?

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
waspy59 Messages postés 189 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mai 2013
19 mars 2007 à 23:51
ben a la base c'été une listbox standard car je n'arrivais pas a utiliser une reylistbox, mais grace a ton aide je peux utiliser ce type de contrôle

donc un tres grand merci a toi
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
19 mars 2007 à 23:56
Et ton problème d'Enabled, c'est bon ?
ReyListBox1.Enabled = False
^^ met le bon nom

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 mars 2007 à 08:54
ben en fait.... le listbox, particulièrement n'etait qu'un essi graphique, un maquette mal dégrossie.
ces controles, de toutes facon sontvieux, buggés, et comporte surement des fuites mémoires...

quoi qu'il en soit, il est peu probable que je les corrige.

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
Rejoignez-nous