Probleme add remove item

sauce31 Messages postés 26 Date d'inscription mardi 14 avril 2009 Statut Membre Dernière intervention 2 juin 2009 - 29 avril 2009 à 16:50
sauce31 Messages postés 26 Date d'inscription mardi 14 avril 2009 Statut Membre Dernière intervention 2 juin 2009 - 30 avril 2009 à 09:44
Bonjour,

Je vous explique mon problème.

J'ai deux listbox et deux boutons qui me permettent de faire passer les elements d'une listbox à l'autre?

Le problème est que les fonctions add et remove ne marchent pas quand je lance le projet mais que, quand je mets des points d'arrtes au niveau des fonctions, elles marchent très bien.

Savez vous pourquoi d'autant qu'à un autre endroit du projet, j'utilise ces fonctions et elles marchent très bien.

Merci pour les réponses

7 réponses

jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
29 avril 2009 à 17:44
Bonjour,

J'espère que tu n'as pas fait le Remove avant le Add sans passer par une variable tremplin...

Fait le Add d'abord (dans une listbox) puis le Remove dans l'autre. Prends de surcroît la précaution d'insérer de quoi permettre au système de faire ses tâches (avec un DoEvents juste après le Add)
0
Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 3
29 avril 2009 à 18:54
je crois que c'est comme sa: (passer le contenu de la list2 à la list1)
for i = 0 to list2.ListCount -1
list1.AddItem list2.list(i)
doevents
list2.RemoveItem(i)
next

Les yeux montrent la force de l'âme
0
Profil bloqué
30 avril 2009 à 00:22
for i = 0 to list2.ListCount -1
    list1.AddItem list2.list(i)
    doevents
next
list2.clear   ' on vide toute la listbox

La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
30 avril 2009 à 06:41
petite explication, Claiyah

si tu fais ton RemoveItem comme cela, tu va décaler ta liste, oublier des elements et au final générer une erreur 'indice en dehos de la plage'
puisque tu feras reference a un item qui n'existera pllus (ou plus précisément aura été décalé n fois vers le haut, arrivant là où la variable 'i' ne l'attendra pas.)
0

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

Posez votre question
Profil bloqué
30 avril 2009 à 06:51
Bien vu Renfield : je n'avais pas fait attention

La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
30 avril 2009 à 08:20
Bonjour,
à Claiyah :
- je ne crois pas que sauce31 veuille passer la totalité d'une liste à l'autre et vider la 1ère, mais simplement passer un article de l'une à l'autre et le supprimer de la 1ère (pas de boucle, donc)
- et bien que cela ne corresponde pas à ce que cherche à faire sauce31 : lorsque l'onsupprime (en boucle) des articles, il faut, pour éviter l'ennui dénoncé, commencer par le bas et remonter vers le haut (avec un step -1)
0
sauce31 Messages postés 26 Date d'inscription mardi 14 avril 2009 Statut Membre Dernière intervention 2 juin 2009
30 avril 2009 à 09:44
Tout à fait jmf0,


Je dois  passer un element un element à une autre a l'aide d'un bouton et de l'action. J'ai regardé mon code et je fais bien le add avant le remove mais je  ne suis pas sur que cela change grand chose.


Pour plus d'info, voila mon code :


requete "select * from MaTable where nomT '" & nomT& "'"


rs = base.----------------


if rs.eof = false then


valeur = rs.fields("nomT").value


LS_T1.Items.add(valeurr)


LS_T2.Items.Remove(valeur)


end if


rs.close
0
Rejoignez-nous