Mickoik
Habitué
Bonjour,
j'ai fait une macro qui fonctionne parfaitement et qui me donne un tableau variable que j'affiche dans une listbox.
je n'arrive pas à compter le nombre d’occurrences identiques dans mon tableau variable avec de l'afficher dans la list box.
Une idée ?
j'ai fait une macro qui fonctionne parfaitement et qui me donne un tableau variable que j'affiche dans une listbox.
je n'arrive pas à compter le nombre d’occurrences identiques dans mon tableau variable avec de l'afficher dans la list box.
Une idée ?
Code:
'recherche du matériel
Dim tab_donnees()
Dim tab_recup()
Dim derligne_donnees As Integer
' je recupère ma base
derligne_donnees = Sheets("Gestion des installations").Range("O" & Rows.Count).End(xlUp).Row
ReDim tab_donnees(derligne_donnees, 8)
For i = 1 To derligne_donnees
tab_donnees(i, 0) = Sheets("Gestion des installations").Range("A" & i) 'client
tab_donnees(i, 1) = Sheets("Gestion des installations").Range("M" & i) 'date
tab_donnees(i, 2) = Sheets("Gestion des installations").Range("N" & i) 'nombre de cameras
tab_donnees(i, 3) = Sheets("Gestion des installations").Range("O" & i) 'type camera
tab_donnees(i, 4) = Sheets("Gestion des installations").Range("P" & i) 'type ecran
tab_donnees(i, 5) = Sheets("Gestion des installations").Range("Q" & i) 'type dvr
tab_donnees(i, 6) = Sheets("Gestion des installations").Range("R" & i) 'type DD
tab_donnees(i, 7) = Sheets("Gestion des installations").Range("S" & i) 'type alim
Next
' je compte le nombre de ligne de mon tableau resultats
For i = LBound(tab_donnees, 1) To UBound(tab_donnees, 1)
If clientbox = tab_donnees(i, 0) Then
n = n + 1
End If
Next
' je charge mon tableau de resultats et transforme mon tableau en 3 colonnes en comblant les trous
If Not installbox.text = "" Then
Dim derligne_recup As Integer
derligne_recup = n * 5
ReDim tab_recup(derligne_recup, 2)
Dim client As String
Dim date_ins As Date
client_box_rec = clientbox.text
date_ins = installbox.text
k = 1
For i = LBound(tab_donnees, 1) To UBound(tab_donnees, 1)
If client_box_rec = tab_donnees(i, 0) And date_ins = CDate(tab_donnees(i, 1)) Then
tab_recup(k, 0) = tab_donnees(i, 2) 'nb de matos
tab_recup(k, 1) = tab_donnees(i, 3) 'matos
If Not tab_donnees(i, 4) = "" Then
tab_recup(k + 1, 1) = tab_donnees(i, 4)
End If
If Not tab_donnees(i, 5) = "" Then
tab_recup(k + 2, 1) = tab_donnees(i, 5)
End If
If Not tab_donnees(i, 6) = "" Then
tab_recup(k + 3, 1) = tab_donnees(i, 6)
End If
If Not tab_donnees(i, 7) = "" Then
tab_recup(k + 4, 1) = tab_donnees(i, 7)
End If
k = k + 5
End If
Next
Me.listMatos.AddItem
listMatos.List = tab_recup
End If