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

VB 6 et antérieur Discussion :

plusieurs colonne a ma list box


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut plusieurs colonne a ma list box
    Bonjour,

    Je m'adresse a vous afin de recevoir une aide sur mon projet.
    Je voudrais remplir une listbox conprenant 2 colonnes dont le nombre de ligne est variable.
    J'utilise myArray pour pouvoir ajouter mes entrées a ma liste sur 2 colonne puis j'utilise .list pour les affecter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim MyArray (2, 2)
     
    sub liste()
    MyArray (0, 0) = ......
    MyArray (1, 0) = ......
     
    MyArray (0, 1) = .....
    MyArray (1, 1) = .....
     
    ListBox.list() = MyArray
    end sub
    Le probleme est que de cette maniere le nombre de ligne est fixe. J'ai donc utilisé additem pour entrée des données dont le nombre est variable via une boucle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    sub list ()
     
    For i = 0 to fin
         ListBox.additem "xxx", i
    Next i
     
    end sub
    Mais dans ce cas je n'entre des données que dans une seule colonne comme faire pour inserer mes données dans 2 colonnes ?

    Merci a ceux qui pourront m'aider a resoudre ce problème.

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonsoir ...

    merci de vérifier ta version de VB :

    Comment savoir si l'on utilise VBA (Visual basic pour application) ou VB6 ?

    essai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ListBox1.ColumnCount = 2
     For i = 0 To 5
        ListBox1.AddItem "xxx-" & i
        ListBox1.Column(1, i) = "yyy-" & i
     
     Next

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut
    Bonjour,

    tout d'abord merci pour ta réponse. En ce qui concerne ma version de VB il s'agit d'un projet VB6.

    J'ai essayé ta solution cela ne marche pas il ne reconnait pas le columncount. Je vous ai donné un exemple simplifié mais je vais taché d'étre le plus clair possible avec mon code.

    Je souhaite afficher dans une ListBox le resultat d'un requete dont chaque valeur a un chiffre index associé mais non visible dans la list d'ou l'utilisation d'une seconde colonne.
    Voici le code en question auquel j'ai mis ta solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Me.Listopeheure.ColumnCount = 2
    While Not (rsADO2.EOF)
       With Me.Listopeheure
             .AddItem "Le " & rsADO2("Date_chrono") & " à " & Right("00" & Trim(Str(rsADO2("Debut_chrono"))), 2) & ":" & Right("00" & Trim(Str(rsADO2("Debmin_chrono"))), 2), ind1
             .Column(1, ind1) = rsADO2("Index")
       End With
       rsADO2.MoveNext
    Wend
    En esperant que cela est plus clair pour vous.

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListBox.list() = MyArray
    fonctionne bien avec ta liste box ?

    j'ai cru que tu utilisé une listbox de msform2.. (du VBA...)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListBox.list() = MyArray
    Ce code fonctionne sur du Vba je ne l'ai pas tester sur du VB6 je savais que je ne pourrais pas l'utilisé dans mon cas.

    J'ai donné ce code a titre d'exemple pour essayé d'etre le clair possible concernant mes attentes.

  6. #6
    Membre émérite
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Par défaut
    Bonjour,

    Et pourquoi n'utiises tu pas la propriéte itemdata?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Me.Listopeheure.ColumnCount = 2
    While Not (rsADO2.EOF)
       With Me.Listopeheure
             .AddItem "Le " & rsADO2("Date_chrono") & " à " & Right("00" & Trim(Str(rsADO2("Debut_chrono"))), 2) & ":" & Right("00" & Trim(Str(rsADO2("Debmin_chrono"))), 2), ind1
             .ItemData(Listopeheure.NewIndex) = rsADO2("Index")
       End With
       rsADO2.MoveNext
    Wend
    A+

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut
    Merci iclic pour ta réponse. Si je comprend bien avec ItemData on peut affecter une valeur d'index a une entrée de la liste. Ce qui me sera utile je vais tester cette soluion des maintenant.

    Petite question : comment récupère t on la valeur de l'itemdata ensuite ?

    Je souhaite également savoir comment faire pour créer plusieurs colonnes (pour une autre partie de mon code) donc si quelqu'un a une solution pour cela.

  8. #8
    Membre émérite
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Par défaut
    De Blade76

    Je souhaite également savoir comment faire pour créer plusieurs colonnes
    Regarde un peu dans la MSDN,contrôle MSFlexGrid, si celà
    ne ferait pas ton affaire.

    Le contrôle Microsoft FlexGrid (MSFlexGrid) affiche et opère sur des données placées dans des tableaux. Il offre une flexibilité totale en matière de tri, de fusion et de formatage de tableaux contenant des chaînes et des images.
    ...

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

Discussions similaires

  1. Réponses: 27
    Dernier message: 29/08/2011, 09h13
  2. [AC-2007] En-tête de colonne sur plusieurs lignes dans une list box
    Par Rémi GAUDINAT dans le forum IHM
    Réponses: 2
    Dernier message: 25/10/2010, 11h52
  3. Création de plusieurs colonnes dans une List
    Par WibiMaster dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 21/06/2010, 14h45
  4. [A-03] Donnees en colonne dans une List Box
    Par Jean.Alexis dans le forum VBA Access
    Réponses: 4
    Dernier message: 26/03/2009, 12h21
  5. Réponses: 6
    Dernier message: 14/05/2007, 15h34

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