pas bien compris le problème ...surtout par rapport au code que tu mets....ton problème se situe bien entre la valeu de la base et la listbox?????alors pourquoi le bout de code de ta feuille excel????
enfin bref....
si ton pb provient du code que tu donnes:
à la place de :
If UserForm1.Lsttype.List(j) = .Cells(i, 21) Then UserForm1.Lsttype.List = j End If
|
mets:
If UserForm1.Lsttype.List(j) = .Cells(i, 21) Then UserForm1.Lsttype.ListIndex = j 'c'est l'index qu'il faut modifier UserForm1.Lsttype.Selected(UserForm1.Lsttype.ListIndex) = True 'histoire d'etre sûr que ton curseur va se positionner sur l'index en question même si c'est pas obligé exit for 'rien ne sert de continuer puisqu'on a trouvé l'index en question End If
|
le principe est le même si ton problème ne viens pas de là mais de ta valeur de la base....
Un conseil toutefois, essai de voir l'utilisation du Treeview , c'est plus complexe je te l'accorde mais l'interet c'est qu'à chaque node tu peux attribuer une Clé (si tout ça te parait floue tu comprendras en faisant des recherches) ainsi, si les valeur de ta liste sont toutes différentes, tu peux les mettre en clé...l'intéret , tu appelles une node via sa clé donc pas besoin de faire de boucle For...mais simplement :
TreeType.Nodes(.Cells(i, 21)).Selected = True
|
En espérant t'avoir aidé ;-)
Yomm
mailto:yommvb@ifrance.comEntre-aidez vous !!!!! partagez vos connaissances !!!!!