Enlever un item d'une combo box

anecaca Messages postés 30 Date d'inscription jeudi 24 février 2011 Statut Membre Dernière intervention 24 avril 2011 - 23 avril 2011 à 19:08
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 24 avril 2011 à 13:49
Hello,

Dans mon petit programme j'utilise des "combo box" de type 2 "Dropdown list" pour ne pas que l'utilisateur puisse y entrer d'autres valeurs que celles proposées.

Donc j'entre des nombres de 1 à n comme ceci, au moment où la page est chargée:

For i = 1 to n '(ici 5)
Combo_A.additem i
Next i


Jusque là tout va bien. Mais je veux que lorsque j'appuie sur un bouton "Cmd_Next" Les chiffres choisit au préalable n'apparaissent plus dans le Combo box. Voilà ce que je code:

Private Sub Cmd_Next Click()

Msgbox (val_combo.Text) 'Message que j'utilise pour vérifier ce que le programme enregistre et qui fonctionne bien

combo_A.removeitem val(combo_A.text)' j'ai essayé de coder str(val(combo_A.text)) plutôt que combo_A.Text


Là où ça coince c'est que quand mon premier nombre dans le combo est 1, il me retire le 2, donc j'ai ajouté un "-1" dans le removeitem

combo_A.removeitem val(combo_A.text) -1 ou str(val(combo_A.text)-1)


du coup je met 1 j'appuie sur Next le 1 Disparait comme il le faut. Je sélectionne ensuite le 2 j'appuie sur Next et là c'est le 3 qui disparait....

J'espère que cela vous paraîtra un peu plus logique qu'à moi...

PS: i est déclaré comme integer...

8 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
23 avril 2011 à 19:42
Bonjour,

Regardes plutôt la propriété ListIndex, je crois que ce sera plus adapté.

Mon site
0
anecaca Messages postés 30 Date d'inscription jeudi 24 février 2011 Statut Membre Dernière intervention 24 avril 2011
23 avril 2011 à 20:01
Re,

Merci pour ta réponse.

Je voudrais savoir pourquoi la Listbox (j'ai supposé que c'était la même chose que ListIndex, mais c'est peut être là que se trouve mon erreur..) est plus adaptée, parce que il ce peut que j'ai 100 chiffres dans cette Listbox ce qui ne s'avère pas très pratique vu qu'il faut faire défiler tout les nombres avant d'arriver au 100ème.

Et en fait mon programme ne fonctionne pas mieux. Voilà mon nouveau code:

For i = 1 To N
    List1.AddItem i
Next i                 'ça c'est toujours ok.

Private Sub Cmd_Next Click()

MsgBox (Val(List1.Text)) 'Là déjà ça ne fonctionne plus 0 s'affiche dans la msgbox
List1.RemoveItem Val(List1.Text) 'Et là quel quel que soit le chiffre selectionner, après le premier click sur Next c'est le 1 qui part, et après le second click c'est le 2 et ainsi de suite...

End sub
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
23 avril 2011 à 20:21
Bonjour,

Non, ListIndex est une propriété (au moins des ListBox, mais je pense qu'elle porte le même nom pour un ComboBox).

Mon site
0
anecaca Messages postés 30 Date d'inscription jeudi 24 février 2011 Statut Membre Dernière intervention 24 avril 2011
23 avril 2011 à 23:10
Je suis désolée mais j'ai beau cherché mais je ne comprends pas je ne vois pas où changer cette propriété. J'ai même regardé des trucs sur le net mais je vois pas... Et mettre cette propriété ça change quoi?
0

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

Posez votre question
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
23 avril 2011 à 23:19
Bonjour,

J'ai vérifié (VB6), ListIndex existe pour les ComboBox.
Cette propriété te donne l'index sélectionné (base 0)
Pour supprimer, utilises la valeur qu'elle te retourne.
Regardes sa réaction.

Mon site
0
anecaca Messages postés 30 Date d'inscription jeudi 24 février 2011 Statut Membre Dernière intervention 24 avril 2011
24 avril 2011 à 09:50
Salut!

Désolée mais je comprends toujours pas... J'ai cherché dans la fenêtre de propriétés de la combo box ou de la list box, et je ne trouve pas de propriété Listindex. Mais! J'ai enfin capté qu'il fallait l'utiliser en combo_A.Listindex!!! Donc j'ai essayé de remplacé Additem par ça mais ça ne fonctionne pas, j'ai essayé plusieurs manière de l'utiliser mais je ne comprends pas comment ça fonctionne.

Et je sais pas si c'était clair dans mon premier message mais les nombre que je mets dans ma combo box doivent impérativement commencé à 1 et vont jusqu'à n déterminé précédemment.
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
24 avril 2011 à 13:42
Bonjour,

ListIndex n'est visible que dans le code, pas dans l'édition de la fenêtre.
Essayes Combo1.ListIndex, ou mieux, regardes dans l'aide.

Mon site
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
24 avril 2011 à 13:49
Après relecture, je pense que l('on commence à se mélanger, montres du code ou réexplique (ce que tu as, ce que tu veux) afin d'éviter de trop dériver.
0
Rejoignez-nous