Soyez le premier à donner votre avis sur cette source.
Snippet vu 6 924 fois - Téléchargée 42 fois
'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
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
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
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
Bravo !!
Si t'en a d'autres ... Merçi de partager !!!
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.