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 :

listbox multi colonne [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut listbox multi colonne
    bonjour a vous tous
    dans ce code
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Private Sub UserForm_Initialize()
    Sheets("feuil1").Activate
      Dim Cell As Range
      'LstView pour Trier
      For Each Cell In Range("d3:d" & [D65000].End(xlUp).Row).SpecialCells(xlCellTypeVisible)
        ListView1.ListItems.Add = Cell
      Next
      'liste triée sans doublon
      For vLi = 1 To ListView1.ListItems.Count
        ComboBox1 = ListView1.ListItems(vLi)
        If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem ListView1.ListItems(vLi)
      Next
      ListView1.ListItems.Clear
      'ComboBox1 = ""
      End Sub
    Private Sub ComboBox1_Click()
     Sheets("feuil1").Activate
      Dim Plage As Range, Est, Add As String, vLi As Integer, Vcol As Byte
      With ListBox1
        .Clear
        .ColumnCount = 12
        .ColumnWidths = "50;50;50;80;120;130;50;30;30;70;30;30"
        Set Plage = Range("D3:P" & [D65000].End(xlUp).Row)
        Set Est = Plage.Find(ComboBox1)
        If Not Est Is Nothing Then
          Add = Est.Address
          Do
            .AddItem Cells(Est.Row, 1)
            For Vcol = 1 To 6
              .List(vLi, Vcol - 1) = Cells(Est.Row, Vcol)
            Next
            vLi = vLi + 1
            Set Est = Plage.FindNext(Est)
          Loop While Not Est Is Nothing And Est.Address <> Add
        End If
        TextBox1 = .ListCount
      End With
     
    End Sub
    la combobox est alimentée par la colonneD
    j'ai augmenté le nombre de colonne dans la listbox, mais le contenu des colonnes supplémentaires ne s'inscrit pas dans la listbox
    j'aurais en tout16 colonnes de A à P

    Pascal

  2. #2
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonjour a tous

    j'ai fini par trouvé de l'aide pour résoudre ce problème, Merci à BOISGONTIER
    voici le code fourni
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Dim Tbl(), f
    Private Sub UserForm_Initialize()
      Set f = Sheets("BD")
      Set d = CreateObject("Scripting.Dictionary")
      Tbl = f.Range("A3:P" & f.[A65000].End(xlUp).Row).Value
      For i = LBound(Tbl) To UBound(Tbl)
        If Tbl(i, 4) <> "" Then d(Tbl(i, 4)) = ""
      Next i
      temp = d.keys
      Call Tri(temp, LBound(temp), UBound(temp))
      Me.ComboBox1.List = temp
    End Sub
    Private Sub ComboBox1_Click()
         With Me.ListView1
         With .ColumnHeaders
           .Clear
           For k = 1 To 15
             .Add , , f.Cells(2, k), 60
           Next k
         End With
         ligne = 1
        .Gridlines = True
        .View = lvwReport
        .ListItems.Clear
        For lig = 1 To UBound(Tbl)
          If Tbl(lig, 4) = Me.ComboBox1 Then
           .ListItems.Add , , Tbl(lig, 1)
           For k = 2 To 15
              .ListItems(ligne).ListSubItems.Add , , Tbl(lig, k)
           Next k
           ligne = ligne + 1
          End If
        Next lig
      End With
    End Sub
    cordialement

    Pascal

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

Discussions similaires

  1. ListBox multi colonne
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/05/2012, 10h15
  2. ListBox Multi Colonnes
    Par Hiraa dans le forum VB.NET
    Réponses: 3
    Dernier message: 05/03/2010, 07h36
  3. Insertion données dans Listbox multi colonnes
    Par jrevert dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 20/08/2009, 16h38
  4. Listbox multi colonne
    Par soso78 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 12/12/2007, 10h48
  5. [VB6] comment saisir l'entête Listbox (multi colonnes)
    Par oumarsaw dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 07/04/2006, 16h21

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