Prblm listbox

cs_nayaphykit Messages postés 14 Date d'inscription mercredi 1 décembre 2004 Statut Membre Dernière intervention 30 décembre 2009 - 6 oct. 2006 à 14:00
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 10 oct. 2006 à 11:46
Bonjour,

je développe pour mon boulot une application VBA/excel et j'avoue ne pas maitriser ce langage.
voila mon problm :
j'ai un tableau contenant un certain nombre d'info sur des produits. ma dernier colonne contient le nbr d'operations du produit. ensuite je vais chercher dans le tableau operation les operations correspondantes (grace a l'identifiant produit)
quand j'affiche mes resultat dans ma list box voila ce que j'otbiens :

or a partir du moment ou il ya plus de 2 operations les autres sont cachées (ex sur la 2eme ligne on ne voit que le debut)

voila en gros le resultat que je voudrai avoir (merci la retouche ^^)

je ne sais pas du tout comment faire pour afficher sur +ieurs ligne une seule entrée.

je vous remercie d'avance pour votre attention et vos reponse

Naya

3 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
6 oct. 2006 à 17:45
salut,
on ne risque pas de voir ton image, elle est en local...

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
cs_nayaphykit Messages postés 14 Date d'inscription mercredi 1 décembre 2004 Statut Membre Dernière intervention 30 décembre 2009
10 oct. 2006 à 10:53
bonjour,

désolé, je suis au boulot et les ports sont bloqué pour que je puisse l'uploader sur mon adresse perso.

voila l'affichage que j'ai actuellement :
produit 1          parametres           operation 1 | operation 2 | opera  (c'est coupé par le bord de la listbox) 
produit 2          parametres           operation 1  | operation 2|opera

il est possible d'avoir jusque 10 operations pour un produit.

voila l'affichage que je souhaiterai avoir :
produit 1          parametres           operation 1
                                               operation 2
                                               operation 3
produit 2          parametres           operation 1                                                
                                               operation 2
                                               operation 3
                                               operation 4
produit 3          parametres           operation 1                                                
                                               operation 2

merci d'avance de  votre aide

Naya
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
10 oct. 2006 à 11:46
Salut,

J'imagine que la listbox est sur un Userform.

Donc voici comment je procéderais


'Code à mettre sur la feuille avant de "loader" le Userform avec la listbox

Sub ShowForm()

    Dim I As Long, J As Integer

    Dim ListRow As Long 'pour déterminer où écrire dans la listbox

    Dim nbLignes As Long, nbColonnes As Integer

   

    On Error GoTo Erreur

   

    'Déterminer le nombre de lignes et de colonnes à lire

    nbLignes = Cells.Find("*", Range("A1"), , , xlByRows, xlPrevious).Row

    nbColonnes = Cells.Find("*", Range("A1"), , , xlByColumns, xlPrevious).Column

   

    'Définir 3 colonnes au listbox du UserForm

    '1ere pour le produit, 2eme pour les paramètres, 3e pour les opérations

    UserForm1.ListBox1.ColumnCount = 3

   

    'Lecture de chaque ligne de produits

    For I = 1 To nbLignes

        If Range("A" & I) = "" Then Exit For

        UserForm1.ListBox1.AddItem

        ListRow = UserForm1.ListBox1.ListCount - 1

        UserForm1.ListBox1.List(ListRow, 0) = Range("A" & I)

        UserForm1.ListBox1.List(ListRow, 1) = Range("B" & I)

        UserForm1.ListBox1.List(ListRow, 2) = Range("C" & I)

       

        'Lecture de chaque colonne d'opérations

        For J = 1 To nbColonnes

            If Range("C" & I).Offset(0, J) = "" Then Exit For

            UserForm1.ListBox1.AddItem

            ListRow = UserForm1.ListBox1.ListCount - 1

            'Inscrire les opérations dans la 3eme colonne (Index = 2)

           
UserForm1.ListBox1.List(ListRow, 2) = Range("C" & I).Offset(0, J)

        Next

    Next

   

    UserForm1.Show


Exit Sub

Erreur:

    MsgBox Err.Number & vbCrLf & Err.Description

End Sub

MPi
0
Rejoignez-nous