Alimenter Listbox depuis plusieurs feuilles
Fermé
LeDbutantVBAFou
-
Modifié le 14 mars 2019 à 11:53
danielc0 Messages postés 1263 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 16 novembre 2024 - 14 mars 2019 à 15:39
danielc0 Messages postés 1263 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 16 novembre 2024 - 14 mars 2019 à 15:39
A voir également:
- Alimenter Listbox depuis plusieurs feuilles
- Fusionner plusieurs feuilles excel en une seule - Guide
- Comment faire un livret avec des feuilles a4 - Guide
- Bruler des feuilles de laurier - Guide
- Feuilles diddl valeur ✓ - Forum Graphisme
- Excel ne parvient pas à insérer les feuilles dans le classeur de destination ✓ - Forum Excel
1 réponse
danielc0
Messages postés
1263
Date d'inscription
mardi 5 juin 2018
Statut
Membre
Dernière intervention
16 novembre 2024
142
14 mars 2019 à 13:54
14 mars 2019 à 13:54
Bonjour,
Essaie :
Cordialement.
Daniel
Essaie :
Dim f, choix(), Rng, Ncol Private Sub UserForm_Initialize() Dim Ctr As Long, X As Integer, Y As Integer 'car = Application.Transpose(Tbl) For i = 2 To 6 Set f = Sheets(i) Set Rng = f.Range("A11:G" & f.[a65000].End(xlUp).Row) For X = 1 To Rng.Rows.Count Me.ListBox1.AddItem f.Cells(Rng.Row - 1 + X, 1) For Y = 2 To 7 With Me.ListBox1 .List(.ListCount - 1, Y - 1) = f.Cells(Rng.Row - 1 + X, Y) End With Next Y Next X Next i Ncol = Rng.Columns.Count '---- entêtes ListBox Me.ListBox1.ColumnCount = Ncol Me.ListBox1.ColumnWidths = 35 & ";" & 80 & ";" & 110 & ";" & 60 & ";" & 60 & ";" & 150 & ";" & 60 '-- TblTmp = Rng.Value For i = LBound(TblTmp) To UBound(TblTmp) ReDim Preserve choix(1 To i) For k = LBound(TblTmp) To UBound(TblTmp, 2) choix(i) = choix(i) & TblTmp(i, k) & " * " Next k Next i End Sub Private Sub TextBox1_Change() If Me.TextBox1 <> "" Then mots = Split(Trim(Me.TextBox1), " ") Tbl = choix For i = LBound(mots) To UBound(mots) Tbl = Filter(Tbl, mots(i), True, vbTextCompare) Next i If UBound(Tbl) > -1 Then Dim b(): ReDim b(1 To UBound(Tbl) + 1, 1 To Ncol) For i = LBound(Tbl) To UBound(Tbl) a = Split(Tbl(i), "*") For k = 1 To Ncol: b(i + 1, k) = a(k - 1): Next k Next i Me.ListBox1.List = b ' Me.Label1.Caption = UBound(Tbl) + 1 End If Else UserForm_Initialize End If End Sub
Cordialement.
Daniel
14 mars 2019 à 15:28
Merci pour l'intérêt!!
Ton code alimente bien la liste avec toutes les feuilles TOP!
Mais par contre la fonction recherche ne fonctionne plus??
Une idée ?
Cordialement.
14 mars 2019 à 15:39
Daniel