ce code permet de se rendre a la premiere ligne correspondante a une saisie dans une combo box.ce n'est pas facile a expliquer prenez le code est vous verez bien.
en tout cas c'est pratique.
Source / Exemple :
'a ecrire dans le module.
Public sub SetTextCombo(combo1 as comboBox)
dim pos,x as long
pos=len(combo1.text)
for x =0 to combo1.listcount-1
if ucase(left(combo1.list(x),pos))=ucase(combo1.text) then
combo1.text=Combo1.list(x)
exit for
end if
next x
combo1.selstart=pos
combo1.sellength=len(combo1.text)-pos
end sub
'dans le formulaire sur l'evenement key up de la combo box
private sub combo1_keyup(keycode as integer,shift as integer)
if keycode<>8 then
call setTextCombo (combo1)
end if
end sub
'le combo1 dans la procedure sur key up doit etre remplacer par le nom de la combo box sur laquelle on travaille
Conclusion :
voila si il y a des bugs tenaient moi au courant pour une mise a jour.merci.
je tiens a remercier tout particulièrement ShanaBurns pour m'avoir apporter la première ébauche du code.
4 mars 2013 à 17:13
J'ai une erreur sur combo1.text et pense que je l'aurai sur combo1.list
mais je suis largué.
Voici le message d'erreur.
"Méthode ou membre de données introuvable." (erreur462)
Quelqu'un a-t-il une idée ?
Merci d'avance et bonne semaine.
Christophe
7 mars 2007 à 10:57
Dans <dim pos,x as long>, n'est pas déclaré en tant que long, mais en tant que variant ! (type par defaut dans vb)
il faut écrire soi <Dim pos&, x as long> soi <Dim pos as long, x as long> (le caractère & permet de spécifier "historiquement" le type)
A+ Patrick
7 mars 2007 à 10:46
Bonne astuce, et simple de surcrois... une seul remarque :
en remplacant < if ucase(left(combo1.list(x),pos))=ucase(combo1.text) then >
par < if StrComp(Left(combo1.List(x),pos), Combo1.Text, vbTextCompare) = 0 Then>
tu gères même les carcatères spéciaux...
A+ Patrick
12 déc. 2006 à 17:51
Bravo !!
Si t'en a d'autres ... Merçi de partager !!!
7 août 2003 à 16:03
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.