Enlever une valeur d'une liste déroulante quand elle a deja était utilisée

kartouche04 Messages postés 10 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 15 novembre 2008 - 12 nov. 2008 à 23:39
kartouche04 Messages postés 10 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 15 novembre 2008 - 13 nov. 2008 à 18:52
Bonjour,
J'ai un userform avec une liste déroulante, je saisie une valeur dans cette liste, ensuite je rempli les informations demandées, quand je clique sur Etape suivante, j'aimerai que ce userform revienne mais cette fois avec dans la liste déroulante toutes les valeurs sauf celle que j'ai choisi précedement. Cela est-il possible? Comment puis-je procéder? Avec quelle fonction?
Merci de votre aide. 

6 réponses

cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
13 nov. 2008 à 06:19
bonjour kartouche04

Je n'ai pas bien compris si l'userform est toujours ouvert quand du cliques sur Etape suivante. Si oui, je pense que l'instruction suivante supprime l'élément sélectionné de la liste ListBox1 :

ListBox1.RemoveItem (ListBox1.ListIndex)

Cordialement
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
13 nov. 2008 à 09:37
Bonjour,

Il va de soi que la solution de Orohena part de l'hypothèse selon laquelle la listbox en cause n'est pas  liée à une source de données.
Dans le cas contraire, c'est le recordset des données qu'il convient de modifier (puis rafraichissement de la listbox).
0
kartouche04 Messages postés 10 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 15 novembre 2008
13 nov. 2008 à 09:47
Bonjour,
Ma listebox récupère les données d'une feuille. Je ne peux donc pas utiliser RemoveItem? Qu'est ce que le recordset des données?
Admettons que nous ne sortons pas du userform. Qu'il y a plusieurs listbox qui contiennent toutes les mêmes données, j'aimerai que quand on choisi une valeur dans la première listbox que dans le deuxième troisième et toutes les autres elle n'apparaisse plus. De même que une fois choisi la valeur dans la listbox1, on en choisi une autre dans la listbox2 et ici le processus doit se répéter. La valeur choisi de doit plus apparaitre dans les autres.
Merci de votre aide.
0
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
13 nov. 2008 à 18:35
Bonjour tout le monde

La remarque de jmf0 est tout à fait pertinente. Ma solution n'est en effet valable que si tu as chargé ta (ou tes) listbox en VBA, en utilisant la méthode AddItem.

Dans le cas où ta listbox est liée à des données (par exemple une plage de cellules Excel), jm0 explique qu'il faut modifier la source de données de la listbox, et non la listbox elle-même. Cette source, ça peut être des enregistrements d'une table Access (recordset), une plage de cellules Excel, etc.

Pour avancer, tu dois nous dire quelle est la source de données de ta listbox.

Cordialement
0

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

Posez votre question
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
13 nov. 2008 à 18:44
Re,

>> Ma listebox récupère les données d'une feuille. Désolé, je n'avais pas tilté.

Dans ce cas, la seule solution est comme l'a dit jm0, d'intervenir sur la source : suppression de la cellule de la feuille de calcul, puis de rafraîchir la listbox.

@+
0
kartouche04 Messages postés 10 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 15 novembre 2008
13 nov. 2008 à 18:52
Ha oui mais non, je ne veux absolument pas supprimer la cellule excel, au grand malheur, mais c'est pas grave, je me debrouillais pour dire si La deuxieme saisie et la meme que la premiere alors msgbox choisi une autre.
Merci a tous.
Bonne soirée
0
Rejoignez-nous