Creer un listbox par une ligne de code

Résolu
Signaler
Messages postés
11
Date d'inscription
vendredi 1 septembre 2006
Statut
Membre
Dernière intervention
1 décembre 2006
-
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
-
Bonjour,
Je voulais savoir si il etait possible de creer une listbox et de definir ses propriétées par une ligne de code dans mon prog VB

En fait je voudrais que mon programme me creer autant de listbox que j'ai de ligne dans un fichier .txt et ensuite c'est moi qui decide lesquelles afficher

Merci

4 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,

Dans une feuille ajoute une listbox et place sa propriété index à 0

Ensuite colle ce code.
(le fichier traite est C:\Test.txt) ceic devrait te créer X listbox avec X le nombre de ligne du fichier (note tu auras meme le listbox de propriété Index à 0 qui sera en trop = > mais laisse quand meme)

Option Explicit 

Private Sub Form_Load() 

Dim NumFile As Integer 
NumFile = FreeFile 
Dim StrLigne As String 

'Ouvre le fichier en lecture
Open "C:\Test.txt" For Input As NumFile 
    'Boucle tant qu'il n'est pas
    'a la fin du fichier
    While Not  EOF (NumFile) 
        'Lecture de la ligne
        Line Input #NumFile, StrLigne 
        'Chargement d'un objet ListBox
        Call Load(List1(List1.Count)) 
        'Propriété du nouveua ListBox
        With List1(List1.UBound) 
            'On ajoute la ligne dedans
            Call .AddItem(StrLigne) 
            'Meme left que la list de départ
            .Left  = List1(0).Left 
            'Decalage du Top pour ne pas que les
            'ListBox se montent dessus
            .Top = List1(0).Top + (List1.Count - 1) * List1(0).Height + 50 
            'On le rend visible
            .Visible = True 
        End With 
    Wend 
Close 
End Sub 

 

Note: Si c'est pas du tout ce que tu voulais explique mieux.
@+,   Ju£i?n
Messages postés
1
Date d'inscription
vendredi 3 septembre 2004
Statut
Membre
Dernière intervention
31 octobre 2006

wjn_norbert
salut,
il faut toujours en créer un premier controle listbox avec index=0, exemple list1(0), affecter false à sa propriété visible.
utiliser le code suivant dans ton programme

load list1(1)
list1(1).left=x ' définit sa position verticale sur la form
list1(1).top=y ' définit sa position horizontale sur la form
list1(1).visible=ture
Messages postés
11
Date d'inscription
vendredi 1 septembre 2006
Statut
Membre
Dernière intervention
1 décembre 2006

Salut, grace a vos réponse j'ai trouvé une solutions, en fait j'apprends sur le tas et vos idées me permettent d'avancxer et d'apprendre pas mal de choses.

Encore merci

Gilles
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
PEnse a Valider les réponse qui t'on aider (réponse acceptée)

@+,   Ju£i?n