VB.Net Remplir un Tableau à partir d'un Combobox [Résolu]

cs_MagDix 532 Messages postés lundi 5 juin 2006Date d'inscription 6 octobre 2012 Dernière intervention - 3 juin 2008 à 18:43 - Dernière réponse : Kevin.Ory 843 Messages postés mercredi 22 octobre 2003Date d'inscription 7 janvier 2009 Dernière intervention
- 4 juin 2008 à 00:02
Salut...


Je cherche un moyen pour remplir un tableau à partir d'un Combobox


J'essais un truc du genre dans une boucle
     Dim Tableau as String ()
            Dim i As Integer = 0
            For i = 0 To Combobox.Items.Count - 1
                cbxCopie.Items.Add(Combobox.GetItemText(Combobox.Items.Item(i)))
                If i = 0 Then
                    ReDim Tableau(i)
                Else
                    ReDim Preserve Tableau(i)
                End If
                Tableau = Combobox.Items.Item(i)
            Next


Mais ca génère un erreur...


Comment on fait pour mettre mon combobox dans un Tableau


Merci de votre aide
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
cs_Megafan 390 Messages postés dimanche 7 avril 2002Date d'inscription 23 septembre 2016 Dernière intervention - 3 juin 2008 à 19:10
3
Merci
Salut,
Essaye plutot Tableau(i)=Combobox.Items.Item(i)
@+
Megafan

Merci cs_Megafan 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_Megafan
Meilleure réponse
cs_MagDix 532 Messages postés lundi 5 juin 2006Date d'inscription 6 octobre 2012 Dernière intervention - 3 juin 2008 à 19:27
3
Merci
Salut


C'est vrai j'avais oublié le (i) dans Tableau(i)
Mais j'ai encore un bug


Dans mon tableau les ligne qui s'ajoute valent "System.Data.DataRowView"
il ne va;ent pas le texte que j'ai dans mon Combobox ????


Tu vois pourquoi ca fais ça???

Merci cs_MagDix 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_MagDix
cs_Megafan 390 Messages postés dimanche 7 avril 2002Date d'inscription 23 septembre 2016 Dernière intervention - 3 juin 2008 à 19:13
0
Merci
de plus ton if i=0 jusqu'au end if
ca sert pas a grand chose
avant ton for, dimensionne ton tableau genre redim tableau (combobox.items.count -1)
@+
Megafan
Commenter la réponse de cs_Megafan
cs_MagDix 532 Messages postés lundi 5 juin 2006Date d'inscription 6 octobre 2012 Dernière intervention - 3 juin 2008 à 19:31
0
Merci
OK j'ai trouvé


Tableau(i) = Combobox.GetItemText(Combobox.Items.Item(i))




merci de ton aide
Commenter la réponse de cs_MagDix
cs_Megafan 390 Messages postés dimanche 7 avril 2002Date d'inscription 23 septembre 2016 Dernière intervention - 3 juin 2008 à 19:48
0
Merci
De rien
@+ Megafan
Commenter la réponse de cs_Megafan
Kevin.Ory 843 Messages postés mercredi 22 octobre 2003Date d'inscription 7 janvier 2009 Dernière intervention - 3 juin 2008 à 22:29
0
Merci
Salut,
Pfou, vous faites ça compliqué

Si les items dans ta ComboBox sont des Strings :

    Dim Tableau(-1) As String
    Combobox.Items.CopyTo(tab, 0)

Ou si ce n'est pas des Strings :

    Dim Tableau(Combobox.Items.Count - 1) As String
    For each Item As TrucChose In Combobox.Items
        Tableau(i) = Item.ToString
    Next

Et voilà...
Commenter la réponse de Kevin.Ory
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 3 juin 2008 à 23:23
0
Merci
Kevin.Ory, je pense que tu as codé un oeu trop vite
Dim Tableau(-1) As String 
D'ou sort ce -1 ?

    For each Item As TrucChose In Combobox.Items
        Tableau(i) = Item.ToString
    Next
Si tu ne définis pas i et si tu ne l'incrémente pas, ca ne va pas faire le résultat attendu.
__________
  Kenji
Commenter la réponse de Charles Racaud
Kevin.Ory 843 Messages postés mercredi 22 octobre 2003Date d'inscription 7 janvier 2009 Dernière intervention - 4 juin 2008 à 00:02
0
Merci
Dim Tableau(-1) As String déclare un tableau de longueur 0
Hé oui, il faut le savoir... j'avais bien trimé pour trouver ça à l'époque

Par contre, effectivement ça ne fonctionne pas mon code Pourtant

je suis sûr que ça fonctionne dans un cas semblable, lorsque on ne peut pas connaitre le nombre d'éléments avant d'avoir le tableau, mais je ne sais plus quoi (appels d'API je pense).
Donc il faut effectivement déclarer le tableau à la bonne taille, le code devient donc:


    Dim Tableau(Combobox.Items.Count - 1) As String
    Combobox.Items.CopyTo(tab, 0)

Et pour la deuxième remarque, tu as tout à fait raison, je devrais mieux relire mon code avant de poster
J'avais d'abord fais avec une incrémentation de i, puis j'ai mal cru que je pouvais simplifier avec un For Each. Donc voici le code avec l'incrémentation de i:

    Dim Tableau(Combobox.Items.Count - 1) As String
    For i As Integer = 0 To Combobox.Items.Count - 1
        Tableau(i) = Combobox.Items(i).ToString
    Next

Dsl, et merci de m'avoir repris Charles
Commenter la réponse de Kevin.Ory

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.