IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

initialiser listbox avec 2 colonnes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 39
    Par défaut initialiser listbox avec 2 colonnes
    Bonjour,
    J'aimerais savoir comment remplir une listBox de 2 colonnes.
    J'ai bien compris comment faire pour une seule colonne mais alors pour 2 j'ai beau fouiller je ne comprends vraiment pas.
    Ci-dessous mon code, qui ne fonctionne pas bien évidemment, c'est repris de l'aide d'excel avec petit changement pour que ce soit en rapport avec ce que je souhaite faire.
    Si quelqu'un peut m'expliquer pourquoi ça ne marche pas celà m'arrangerais bien.
    merci d'avance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Private Sub UserForm_Initialize()
        Dim i As Single
     
        UserForm1.ListBox1.ColumnCount = 3
    'This list box contains 3 data columns
     
        For i = 0 To 5
            UserForm1.ListBox1.List(i, 0) = i
            UserForm1.ListBox1.List(i, 1) = Rnd
            UserForm1.ListBox1.List(i, 2) = Rnd
        Next i
     
     
    End Sub

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    tu ne peux modifier des colonnes d'un article encore inexistant !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For i = 0 To 5
            ListBox1.AddItem '  <<<<=== nécessaire ....
            ListBox1.List(i, 0) = i
            ListBox1.List(i, 1) = Rnd
            ListBox1.List(i, 2) = Rnd
        Next i

  3. #3
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 39
    Par défaut
    Merci pour ta réponse rapide, malgrès qu'elle ne m'enchante pas trop...
    Donc si je comprends bien, il y a pas de moyens d'ajouter a une liste de plusieurs colonnes des éléments un à un?
    Je suis obligé de créer un tableau d'abord et ensuite de l'ajouter entier a la liste?

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Citation Envoyé par lilly91 Voir le message
    Donc si je comprends bien, il y a pas de moyens d'ajouter a une liste de plusieurs colonnes des éléments un à un?
    Je suis obligé de créer un tableau d'abord et ensuite de l'ajouter entier a la liste?
    Cà, alors ...!
    Réponse à ce que j'ai mis en rouge : et que fait donc, selon toi, l'exemple que je t'ai donné, sinon ajouter un à un ?
    Réponse à ce que j'ai mis en bleu : où vois-tu un tableau ou la nécessité d'en créer un ?

    Bon ...
    allons-y d'un autre exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     UserForm1.ListBox1.ColumnCount = 3
            Dim toto As Integer
            ListBox1.AddItem ' il nous faut bien créer l'article, avant de remplir ses colonnes
            toto = ListBox1.ListCount - 1
            ListBox1.List(toto, 0) = "bonjour"
            ListBox1.List(toto, 1) = "comment vas-tu ?"
            ListBox1.List(toto, 2) = "moi ? bien. Et toi ?"
            MsgBox "regarde ta listbox, puis clique et regarde à nouveau"
            ListBox1.List(toto, 1) = "How are you ?" 'ici on se contente de modifier ! pas de AddItem dans ce cas
            MsgBox "regarde ta listbox, puis clique et regarde à nouveau"
            ListBox1.AddItem 'on crée unn nouvel article, maintenant, puis on s'occupe de ses colonnes 
            toto = ListBox1.ListCount - 1
            ListBox1.List(toto, 0) = "Hola"
            ListBox1.List(toto, 1) = "como estas ?"
            ListBox1.List(toto, 2) = "muy bien. Qué tal contigo ?"
    Et ce n'est pas ma réponse, mais celle de VB ...
    Seuls les exemples sont miens !

  5. #5
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 39
    Par défaut
    Ha d'accord!!!
    J'avais pas compris en effet, je pensais qu'il fallait rajouter quelque chose après addItem....
    Ok super
    merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème listbox avec plusieurs colonnes
    Par djams9 dans le forum VB.NET
    Réponses: 12
    Dernier message: 07/07/2011, 10h38
  2. Listbox avec deux colonnes
    Par sevy1881 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 15/06/2011, 00h21
  3. comment avoir Listbox avec plusieurs colonnes
    Par pseudo88 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 20/05/2010, 10h45
  4. Comment créer une listBox avec plusieurs colonnes ?
    Par volcom_2222 dans le forum VB.NET
    Réponses: 6
    Dernier message: 27/02/2010, 11h44
  5. vba, listbox avec plusieur colonne
    Par morgan47 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 20/06/2006, 18h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo