bon, je l'alimente par la lecture d'une valeur dans un fichier ini
pas de souci...
ensuite, lorsque je sélectionne un élément de la liste, et que je clique sur
le bouton de mon form, je réalise le traitement ... là aussi, tout va bien !
ce qui me gêne, c'est que j'arrive pas , une fois que l'élément a été
traité, à le supprimer, et simultanément , à faire afficher l'élément
suivant (ou du moins, celui qui se retrouve en tête de liste) dans la
fenêtre du combo
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zoury
Salut! :O)
Avant toute chose...
Combo1.RemoveItem (Combo1.ListIndex)
cette syntaxe n'est pas recommandé, utilise plutôt : '*** Combo1.RemoveItem Combo1.ListIndex ' ou Call Combo1.RemoveItem(Combo1.ListIndex) '*** et lit ceci pour savoir pourquoi, regarde le quatrième bloc (commencant par ***) : http://groups.google.com/groups?threadm=%23F0eGX6HDHA.2244%40TK2MSFTNGP10.phx.gbl
Ici RemoveItem() enlève l'élément sélectionné qui est désigné par ListIndex. Une fois l'élément sélectionné supprimer, le ListIndex devient égal à -1, ce qui signifie qu'aucun élément n'est sélectionné.
Combo1.Text = Combo1.List(0)
Ici tu copies le texte de l'item de liste ayant l'index 0 dans le texte de ta ComboBox. Ceci *ne sélectionne pas* l'item en question. ListIndex reste à -1, c'est pourquoi l'appel suivant cause l'erreur 5.
Solution : 1. Si tu ne veux pas permettre à l'utilisateur d'écrire une valeur autre que celles qui se trouvent dans la liste dans la ComboBox, place la propriété Style de celle-ci à "2 - DropDown List" en designtime. 2. Une fois la propriété modifiée, ton code devrait fonctionner car la ligne de code suivante Combo1.Text = Combo1.List(0) initialisera automatiquement le ListIndex à 0. Cependant pourquoi ne pas simplement affecté la valeur 0 *directement* à la propriété ListIndex? 3. Valider si le ListIndex est plus grand que -1 avant de supprimer.
tu obtiens donc : '*** If (Combo1.ListIndex > -1) Then Call Combo1.RemoveItem(Combo1.ListIndex) Combo1.ListIndex = 0 End If '***
Merci de poster les réponses au groupe afin d'en faire profiter à tous
Salut! :O)
Avant toute chose...
Combo1.RemoveItem (Combo1.ListIndex)
cette syntaxe n'est pas recommandé, utilise plutôt :
'***
Combo1.RemoveItem Combo1.ListIndex
' ou
Call Combo1.RemoveItem(Combo1.ListIndex)
'***
et lit ceci pour savoir pourquoi, regarde le quatrième bloc (commencant par
***) :
http://groups.google.com/groups?threadm=%23F0eGX6HDHA.2244%40TK2MSFTNGP10.phx.gbl
Ici RemoveItem() enlève l'élément sélectionné qui est désigné par ListIndex.
Une fois l'élément sélectionné supprimer, le ListIndex devient égal à -1, ce
qui signifie qu'aucun élément n'est sélectionné.
Combo1.Text = Combo1.List(0)
Ici tu copies le texte de l'item de liste ayant l'index 0 dans le texte de
ta ComboBox. Ceci *ne sélectionne pas* l'item en question. ListIndex reste
à -1, c'est pourquoi l'appel suivant cause l'erreur 5.
Solution :
1. Si tu ne veux pas permettre à l'utilisateur d'écrire une valeur autre que
celles qui se trouvent dans la liste dans la ComboBox, place la propriété
Style de celle-ci à "2 - DropDown List" en designtime.
2. Une fois la propriété modifiée, ton code devrait fonctionner car la ligne
de code suivante Combo1.Text = Combo1.List(0) initialisera automatiquement
le ListIndex à 0. Cependant pourquoi ne pas simplement affecté la valeur 0
*directement* à la propriété ListIndex?
3. Valider si le ListIndex est plus grand que -1 avant de supprimer.
tu obtiens donc :
'***
If (Combo1.ListIndex > -1) Then
Call Combo1.RemoveItem(Combo1.ListIndex)
Combo1.ListIndex = 0
End If
'***
cette syntaxe n'est pas recommandé, utilise plutôt : '*** Combo1.RemoveItem Combo1.ListIndex ' ou Call Combo1.RemoveItem(Combo1.ListIndex) '*** et lit ceci pour savoir pourquoi, regarde le quatrième bloc (commencant par ***) : http://groups.google.com/groups?threadm=%23F0eGX6HDHA.2244%40TK2MSFTNGP10.phx.gbl
Ici RemoveItem() enlève l'élément sélectionné qui est désigné par ListIndex. Une fois l'élément sélectionné supprimer, le ListIndex devient égal à -1, ce qui signifie qu'aucun élément n'est sélectionné.
Combo1.Text = Combo1.List(0)
Ici tu copies le texte de l'item de liste ayant l'index 0 dans le texte de ta ComboBox. Ceci *ne sélectionne pas* l'item en question. ListIndex reste à -1, c'est pourquoi l'appel suivant cause l'erreur 5.
Solution : 1. Si tu ne veux pas permettre à l'utilisateur d'écrire une valeur autre que celles qui se trouvent dans la liste dans la ComboBox, place la propriété Style de celle-ci à "2 - DropDown List" en designtime. 2. Une fois la propriété modifiée, ton code devrait fonctionner car la ligne de code suivante Combo1.Text = Combo1.List(0) initialisera automatiquement le ListIndex à 0. Cependant pourquoi ne pas simplement affecté la valeur 0 *directement* à la propriété ListIndex? 3. Valider si le ListIndex est plus grand que -1 avant de supprimer.
tu obtiens donc : '*** If (Combo1.ListIndex > -1) Then Call Combo1.RemoveItem(Combo1.ListIndex) Combo1.ListIndex = 0 End If '***
Solution : 1. Si tu ne veux pas permettre à l'utilisateur d'écrire une valeur autre que celles qui se trouvent dans la liste dans la ComboBox, place la propriété Style de celle-ci à "2 - DropDown List" en designtime.
oui, mais je peux pas, car ça me place les propriétés de combo1.text en lecture seule, or le texte affiché dans le combo par défaut, varie selon son contenu ??
et donc, j'ai toujours une erreur ... là, elle s'est déplacée, j'ai une erreur sur
Combo1.Text = Combo1.List(0)
par contre, ça m'a donné l'idée de tester en fonction de Combo1.ListCount ...
est ce que ça, c'est correct ??
If Combo1.ListCount > 1 Then Combo1.RemoveItem Combo1.ListIndex Combo1.ListIndex = 0 Else Combo1.RemoveItem (0) end if
--
scraper
Dans son post news:%23zoazNVpDHA.2312@TK2MSFTNGP12.phx.gbl,
Zoury a indiqué :
Salut! :O)
Avant toute chose...
Combo1.RemoveItem (Combo1.ListIndex)
cette syntaxe n'est pas recommandé, utilise plutôt :
'***
Combo1.RemoveItem Combo1.ListIndex
ah ? d'accord !
' ou
Call Combo1.RemoveItem(Combo1.ListIndex)
'***
et lit ceci pour savoir pourquoi, regarde le quatrième bloc
(commencant par ***) :
Solution :
1. Si tu ne veux pas permettre à l'utilisateur d'écrire une valeur
autre que celles qui se trouvent dans la liste dans la ComboBox,
place la propriété Style de celle-ci à "2 - DropDown List" en
designtime.
oui, mais je peux pas, car ça me place les propriétés de combo1.text en
lecture seule, or le texte affiché dans le combo par défaut, varie selon
son contenu ??
et donc, j'ai toujours une erreur ... là, elle s'est déplacée, j'ai une
erreur sur
Combo1.Text = Combo1.List(0)
par contre, ça m'a donné l'idée de tester en fonction de Combo1.ListCount
...
est ce que ça, c'est correct ??
If Combo1.ListCount > 1 Then
Combo1.RemoveItem Combo1.ListIndex
Combo1.ListIndex = 0
Else Combo1.RemoveItem (0)
end if
Solution : 1. Si tu ne veux pas permettre à l'utilisateur d'écrire une valeur autre que celles qui se trouvent dans la liste dans la ComboBox, place la propriété Style de celle-ci à "2 - DropDown List" en designtime.
oui, mais je peux pas, car ça me place les propriétés de combo1.text en lecture seule, or le texte affiché dans le combo par défaut, varie selon son contenu ??
et donc, j'ai toujours une erreur ... là, elle s'est déplacée, j'ai une erreur sur
Combo1.Text = Combo1.List(0)
par contre, ça m'a donné l'idée de tester en fonction de Combo1.ListCount ...
est ce que ça, c'est correct ??
If Combo1.ListCount > 1 Then Combo1.RemoveItem Combo1.ListIndex Combo1.ListIndex = 0 Else Combo1.RemoveItem (0) end if