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 40 41 42 43 44 45 46 47
| Option Explicit
Public tab_x() As String
Public Sub nbagent()
Dim n_Ligne As Long, n_x As Long, n_Agents As Single
Dim i As Long, j As Long
Dim tab_Agents() As String
n_Ligne = Feuil4.Cells(Rows.Count, 1).End(xlUp).Row
n_x = 0
n_Agents = 0
'ici je remplis ma variable tableau avec les noms (avec les doublons) qui correspondent a l'annee, les doublons seront supprimes plus tard
For i = 4 To n_Ligne
If Feuil4.Cells(i, 3).Value = Feuil4.Cells(3, 11).Value Or Feuil4.Cells(i, 5).Value = Feuil4.Cells(3, 11).Value Then
ReDim Preserve tab_Agents(n_x)
tab_Agents(n_x) = Feuil4.Cells(i, 1).Value
n_x = n_x + 1
Else
End If
Next i
'ici je compte les elements de mon tableau en supprimant les doublons
For i = 0 To UBound(tab_Agents)
n_Agents = n_Agents + 1 / Compte_Var_Tab(tab_Agents, tab_Agents(i))
Next i
Feuil4.Cells(3, 13) = n_Agents
End Sub
'pour faire un countif pour une variable tableau, il faut creer sa fonction, ci-dessous un exemple
Public Function Compte_Var_Tab(tab_x, str_x As String) As Long
Dim n_cpte As Long, i As Long
n_cpte = 0
For i = 0 To UBound(tab_x)
If str_x = tab_x(i) Then
n_cpte = n_cpte + 1
Else
End If
Next i
Compte_Var_Tab = n_cpte
End Function |
Partager