Macro pour synthese de donnee

post prod

XLDnaute Occasionnel
Bonjour a tous dernièrement quelqu'un sur le forum ma aidé sur une macro
est je voudrai y apporté une modification
en fait j'ai 3 feuille dont je fait une syntese sur un userform
la modif serai de ne faire apparaitre que certaine colonne dans les listbox

les 6 premiere colonne de la feuille 1 dans le listbox 1
les 5 premiere colonne de la feuille 2 dans le listbox 2
les 7 premiere colonne de la feuille 3 dans le listbox 3

voila le fichier
merci d'avance
 

Pièces jointes

  • Postprod.zip
    105.6 KB · Affichages: 47
  • Postprod.zip
    105.6 KB · Affichages: 51

jp14

XLDnaute Barbatruc
Re : Macro pour synthese de donnee

Bonsoir

Un code à tester
Code:
Private Sub ComboBox1_Change()
Dim O As Worksheet
If Me.ComboBox1.Value = "" Then Exit Sub
For Each O In Sheets
    Select Case O.Name
    Case "ARMOIRES"
        RemplirListbox ListBox1, O.Name, 6
    Case "POINTS LUMINEUX"
        RemplirListbox ListBox2, O.Name, 5
    Case "LANTERNES"
        RemplirListbox ListBox3, O.Name, 7
    End Select
Next O
End Sub
Private Sub RemplirListbox(LisB As MSForms.ListBox, Nomfe As String, NBcol As Byte)
    Dim col As String, i As Long, cellule As Range, LigDep As Integer
    col = "a"
    LigDep = 2
    '
    With LisB
        .Clear
        .ColumnCount = NBcol + 1
        Select Case NBcol
            Case 5
                .ColumnWidths = "60;60;60;60;60;0"
            Case 6
                .ColumnWidths = "60;60;60;60;60;60;0"
            Case 7
                .ColumnWidths = "60;60;60;60;60;60;60;0"
        End Select
        '.Style = fmStyleDropDownList '
        For Each cellule In Sheets(Nomfe).Range(col & LigDep & ":" & col & Sheets(Nomfe).Range(col & Columns(1).Cells.Count).End(xlUp).Row)
            If CStr(cellule.Value) = Me.ComboBox1.Value Then
                .AddItem cellule.Value
                For i = 1 To NBcol
                    .List(.ListCount - 1, i) = cellule.Offset(0, i).Value
                Next i
                .List(.ListCount - 1, .ColumnCount - 1) = cellule.Row' numero de ligne si nécessaire
            End If
        Next cellule
    End With
End Sub

JP
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG