Alimentation plusieurs combobox

Résolu/Fermé
freizetagada Messages postés 16 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 29 mai 2013 - Modifié par freizetagada le 15/05/2013 à 15:02
freizetagada Messages postés 16 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 29 mai 2013 - 22 mai 2013 à 11:29
Bonjour,

J'alimente 4 combo box en fontion de la valeur de leurs prédécesseurs (CBOX2 se remplit en fonction de la valeur CBOX1, CBOX3 en fonction de CBOX1 et CBOX2, etc.). Cela fonctionne à merveille cependant pour le CBOX2 à chaque fois que j'ajoute un item la procédure CBOX2_change() s'exécute ce qui fait que le CBOX2 est très long à s'alimenter.
J'ai l'impression que c'est parce que je vérifie si la valeur que j'ajoute est identique à la précédente à l'aide de l'instruction :
Me.CBOX2 = .Cells(i, 2)
If Me.CBOX2.ListIndex = -1 Then Me.CBOX_cedant.AddItem .Cells(i, 2).Value


J'aurai voulu savoir si vous pensez que c'est à cause de ça et si oui y aurait-il une solution ? Et si non d'après vous qu'elle pourrait être la cause de ce prolème et quelle solution je pourrai mettre en place ?

Merci ! :)

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
15 mai 2013 à 16:59
Bonjour,

il est certain que si vous avez fait une boucle avec Me.CBOX2 = .Cells(i, 2), la procedure CBOX2_change() va vous faire perdre du temps.

J'ai l'impression que c'est parce que je vérifie si la valeur que j'ajoute est identique à la précédente à l'aide de l'instruction : ?????
0
freizetagada Messages postés 16 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 29 mai 2013
Modifié par freizetagada le 15/05/2013 à 17:22
Oui je fais une boucle. Mais dans ce cas comment faire sans boucle ?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
15 mai 2013 à 17:27
Re,
Il faudrait que nous ayons votre fichier pour vous repondre
0
freizetagada Messages postés 16 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 29 mai 2013
16 mai 2013 à 16:33
Je suis désolée je ne peux pas transmettre de fichier il est confidentiel :/
0
freizetagada Messages postés 16 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 29 mai 2013
16 mai 2013 à 16:33
Tant pis sinon je vais essayer de me débrouiller :) Merci quand même :)
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
16 mai 2013 à 16:42
Bonjour,

Me.CBOX2 = .Cells(i, 2) pouquoi ecrivez-vous cette ligne de code ??
0