Dim aCC(0 To 15, 0 To 12) For r = 0 To 15 For t = 0 To 12 aCC(r, t) = Cells(r + 1, t + 1) Next t Next r With ListBox1 .Clear .ColumnCount = 13 .ColumnWidths = "50;50;50;50;50;50;50;50;50;50;50;50;50;50;50;50" .List() = aCC End With
aCC(i - 4, t) = Cells(i + 1, t + 1)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionmonIndex = 0 For i = 4 To Range("A65536").End(xlUp).Row If Not Rows(i + 1).Hidden Then For t = 0 To 12 aCC(monIndex, t) = Cells(i + 1, t + 1) monIndex = monIndex + 1 Next t End If Next i
Set Plage = [_filterdatabase].Offset(1).Resize(, 1) Set Plage = Plage.Resize(Plage.Count - 1).SpecialCells(xlCellTypeVisible) w = Plage.Count j = Plage.Row Plage(Plage.Count).Select k = Plage.SpecialCells(xlCellTypeLastCell).Row
Private Sub Search_Click()
Dim Ind As Integer, DLig As Long, Lig As Long
Dim TabCrit() As String, NbCrit As Integer, NbFind As Integer
' Tableau des champs pas rapport au sens des colonnes
TabCrit = Split("Base_source,Base,Table,Donnee,Equipe,Responsable,Categorie,Sous_catégorie,Usage_détaillé,BU,Groupe,Définition", ",")
' Effacer la ListBox avant
Me.ListBox1.Clear
' Avec la feuille
With Sheets("Cartographie")
' Mémoriser la dernière ligne remplie du tableau
DLig = .Range("C" & Rows.Count).End(xlUp).Row
' Pour chaque ligne
For Lig = 2 To DLig
' Mettre le nombre de critères et le nombre de valeurs trouvées à ZERO
NbCrit = 0: NbFind = 0
' Pour chaque critère correspondant à ceux de la carto
For Ind = 4 To 9
' Si le critère de recherche a été renseigné
If Me.Controls(TabCrit(Ind)) <> "" Then
NbCrit = NbCrit + 1
' Si le critère ressemble au contenu de la cellule
If UCase(.Cells(Lig, 1 + Ind)) Like UCase("*" & Me.Controls(TabCrit(Ind)) & "*") Then
' Comptabiliser le nombre de valeurs correspondantes
NbFind = NbFind + 1
End If
End If
Next Ind
' Si le nombre de critères rempli = le nombre de valeurs trouvées
If NbCrit = NbFind Then
' Ajouter l'item
Me.ListBox1.AddItem .Cells(Lig, 2)
' Pour chaque colonne
For Ind = 1 To 9
' Ajouter les valeurs correspondantes
Me.ListBox1.List(Me.ListBox1.ListCount - 1, Ind) = .Cells(Lig, 1 + Ind)
Next Ind
End If
Next Lig
End With
End Sub