Lier combobox1 à combobox 2

Signaler
Messages postés
8
Date d'inscription
mercredi 1 juin 2016
Statut
Membre
Dernière intervention
12 juin 2016
-
Whismeril
Messages postés
14241
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 février 2020
-
Bonjour,
sur ma forme j'ai 2 combobox , je veux que lorsque je sélectionne un élément sur combobox 1 les élément de combobox 2 change

par exemple:
sur combobox1 j'ai 2 élément Voyelle, Consonne
-lorsque je choisi Consonne il m'affiche seulement les consonne sur combobox 2
-lorsque le choisi Voyelle il affiche seulement les voyelles

4 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
Bonjour,
Vachement clair ...
Mais encore ?
En d'autres termes :
1) comment as-tu établi la liste des consonnes et/ou celle des voyelles devant alimenter ta combobox2
2) pour toi, par exemple : la consonne "C" est-elle différente de la consonne "c" ?
3) pour toi, "ñ" (entre autres) est-elle une consonne ?
4) quelle est pour toi la majuscule de "é", de "ç" (etc ...) ?
5) une combobox (lourd) pour faire un choix entre deux choix (voyelle/consonne) est assez surprenant. 2 optionbuttons seraient bien plus "légers".
Allez ! explique-nous tout cela.


________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
Messages postés
8
Date d'inscription
mercredi 1 juin 2016
Statut
Membre
Dernière intervention
12 juin 2016

??
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
Lis donc mon édit et tu comprendras ce "mais encore ?" !
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
Dans cette discussion (entre autres) :
https://bytes.com/topic/visual-basic-net/answers/351798-array-listbox
tu trouveras au moins deux manières de procéder. Mais toujours (bien évidemment) après avoir dressé la liste de ce dont tu veux abonder la combobox... Et cela, c'est à toi de le décider .
Messages postés
14241
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 février 2020
343
Bonsoir

Tout d'abord, je voudrais être bien sûr de ton langage.
Tes 2 questions précédentes étaient du VBA, et là du VB.Net.
C'est tout à fait possible, mais d'un autre coté s'éparpiller quand on débute ça n'est pas forcément le mieux.

Surtout que l'on parle de deux langages, qui n'ont quasiment de communs que les 2 premières lettres du nom...
Whismeril
Messages postés
14241
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 février 2020
343
Salut, en .net aussi ça peut être très court, si en amont les données sont correctement gérées.
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220 > Whismeril
Messages postés
14241
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 février 2020

aussi court que cela ?

Private Sub ComboBox1_Click()
lettres = Array("AEIOUY", "BCDFGHJKLMNPQRSTVWXZ")
ComboBox2.List() = Split(StrConv(lettres(ComboBox1.ListIndex), vbUnicode), Chr(0))
End Sub
Whismeril
Messages postés
14241
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 février 2020
343 > ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018

Oui ça peut, mais comme tu l'as écrit plus haut, si c'est bêtement un choix entre deux critères, toujours les mêmes, un optionButton ferait l'affaire.

J'attends donc de notre ami, de savoir si c'était un exemple comme ça, et auquel cas prévoir de la flexibilité, ou pas et auquel cas on peut transposer, presque littéralement ton code.
Je ne pense pas que le split en .net marche sans séparateur, mais string se comporte comme un tableau de caractères, donc ça revient au même.
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220 > Whismeril
Messages postés
14241
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 février 2020

Mais si, j'utilise un séparateur : le séparateur chr(0) : caractère NULL de terminaison obtenu par le strconv vers unicode.(la fonction strconv de VBA et VB6 permet la conversion en unicode et/ou depuis unicode)
Pour être plus précis : "abcd" traité par strconv vers unicode donne "a" & chr(0) & "b" & chr(0) & "c" & chr(0) & "d" & chr(0)
Whismeril
Messages postés
14241
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 février 2020
343 > ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018

Je me suis mal exprimé, je ne mettais pas en doute ton code, mais,le fait que ça marche en .net.
Mais peut importe puisque je peux faire ça
Dim toto As Char = "Coucou"(2)
Et toto vaudra u. Je peux aussi utiliser la méthode ToCharArray, et là j'aurais direct un tableau.

Mais j'essayerai si on peut spliter avec une chaine vide en .net.